@propeller-commerce/propeller-v2-vue-ui 0.3.15 → 0.3.18
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 +68 -0
- package/dist/components/CartItem.vue.d.ts +2 -0
- package/dist/components/ClusterCard.vue.d.ts +13 -0
- package/dist/components/GridFiltersPanel.vue.d.ts +13 -0
- package/dist/components/ProductCard.vue.d.ts +13 -0
- package/dist/index.cjs +1204 -918
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1231 -945
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3003,7 +3003,7 @@ async function mergeAnonymousCart(cfg) {
|
|
|
3003
3003
|
}
|
|
3004
3004
|
return result;
|
|
3005
3005
|
}
|
|
3006
|
-
const _sfc_main$
|
|
3006
|
+
const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
3007
3007
|
__name: "PropellerProvider",
|
|
3008
3008
|
props: {
|
|
3009
3009
|
user: { default: null },
|
|
@@ -3037,24 +3037,24 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
3037
3037
|
};
|
|
3038
3038
|
}
|
|
3039
3039
|
});
|
|
3040
|
-
const _hoisted_1$
|
|
3041
|
-
const _hoisted_2$
|
|
3040
|
+
const _hoisted_1$P = ["data-loading", "data-variant"];
|
|
3041
|
+
const _hoisted_2$O = {
|
|
3042
3042
|
key: 0,
|
|
3043
3043
|
class: "propeller-login-form__header space-y-1 text-center mb-6"
|
|
3044
3044
|
};
|
|
3045
|
-
const _hoisted_3$
|
|
3046
|
-
const _hoisted_4$
|
|
3045
|
+
const _hoisted_3$O = { class: "propeller-login-form__title text-2xl font-bold" };
|
|
3046
|
+
const _hoisted_4$K = {
|
|
3047
3047
|
key: 0,
|
|
3048
3048
|
class: "propeller-login-form__subtitle text-sm text-muted-foreground"
|
|
3049
3049
|
};
|
|
3050
|
-
const _hoisted_5$
|
|
3051
|
-
const _hoisted_6$
|
|
3050
|
+
const _hoisted_5$J = { class: "propeller-login-form__field space-y-2" };
|
|
3051
|
+
const _hoisted_6$I = {
|
|
3052
3052
|
for: "login-email",
|
|
3053
3053
|
class: "propeller-login-form__label text-sm font-medium leading-none"
|
|
3054
3054
|
};
|
|
3055
|
-
const _hoisted_7$
|
|
3056
|
-
const _hoisted_8$
|
|
3057
|
-
const _hoisted_9$
|
|
3055
|
+
const _hoisted_7$I = ["value", "placeholder", "disabled"];
|
|
3056
|
+
const _hoisted_8$E = { class: "propeller-login-form__field space-y-2" };
|
|
3057
|
+
const _hoisted_9$D = { class: "flex items-center justify-between" };
|
|
3058
3058
|
const _hoisted_10$A = {
|
|
3059
3059
|
for: "login-password",
|
|
3060
3060
|
class: "propeller-login-form__label text-sm font-medium leading-none"
|
|
@@ -3081,7 +3081,7 @@ const _hoisted_19$o = {
|
|
|
3081
3081
|
class: "propeller-login-form__footer flex flex-col gap-2 text-sm pt-3 text-center"
|
|
3082
3082
|
};
|
|
3083
3083
|
const _hoisted_20$m = { class: "propeller-login-form__register text-xs text-muted-foreground" };
|
|
3084
|
-
const _sfc_main$
|
|
3084
|
+
const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
3085
3085
|
__name: "LoginForm",
|
|
3086
3086
|
props: {
|
|
3087
3087
|
graphqlClient: {},
|
|
@@ -3201,9 +3201,9 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3201
3201
|
"data-loading": isLoading.value ? "true" : "false",
|
|
3202
3202
|
"data-variant": __props.accountHeaderLoginForm ? "compact" : "full"
|
|
3203
3203
|
}, [
|
|
3204
|
-
resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
3205
|
-
vue.createElementVNode("h2", _hoisted_3$
|
|
3206
|
-
__props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$
|
|
3204
|
+
resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, [
|
|
3205
|
+
vue.createElementVNode("h2", _hoisted_3$O, vue.toDisplayString(resolvedTitle.value), 1),
|
|
3206
|
+
__props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$K, vue.toDisplayString(__props.subtitle), 1)) : vue.createCommentVNode("", true)
|
|
3207
3207
|
])) : vue.createCommentVNode("", true),
|
|
3208
3208
|
vue.createElementVNode("form", {
|
|
3209
3209
|
class: "propeller-login-form__form space-y-4",
|
|
@@ -3216,8 +3216,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3216
3216
|
},
|
|
3217
3217
|
labels: __props.labels
|
|
3218
3218
|
}, () => [
|
|
3219
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
3220
|
-
vue.createElementVNode("label", _hoisted_6$
|
|
3219
|
+
vue.createElementVNode("div", _hoisted_5$J, [
|
|
3220
|
+
vue.createElementVNode("label", _hoisted_6$I, vue.toDisplayString(emailLabel.value), 1),
|
|
3221
3221
|
vue.createElementVNode("input", {
|
|
3222
3222
|
type: "email",
|
|
3223
3223
|
id: "login-email",
|
|
@@ -3230,7 +3230,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3230
3230
|
placeholder: emailPlaceholder.value,
|
|
3231
3231
|
required: true,
|
|
3232
3232
|
disabled: isLoading.value
|
|
3233
|
-
}, null, 40, _hoisted_7$
|
|
3233
|
+
}, null, 40, _hoisted_7$I)
|
|
3234
3234
|
])
|
|
3235
3235
|
]),
|
|
3236
3236
|
vue.renderSlot(_ctx.$slots, "passwordField", {
|
|
@@ -3241,8 +3241,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3241
3241
|
labels: __props.labels,
|
|
3242
3242
|
displayForgotPassword: __props.displayForgotPasswordLink !== false && !__props.accountHeaderLoginForm
|
|
3243
3243
|
}, () => [
|
|
3244
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
3245
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
3244
|
+
vue.createElementVNode("div", _hoisted_8$E, [
|
|
3245
|
+
vue.createElementVNode("div", _hoisted_9$D, [
|
|
3246
3246
|
vue.createElementVNode("label", _hoisted_10$A, vue.toDisplayString(passwordLabel.value), 1),
|
|
3247
3247
|
showForgotPassword.value && !__props.accountHeaderLoginForm ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3248
3248
|
key: 0,
|
|
@@ -3371,22 +3371,22 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3371
3371
|
]) : vue.createCommentVNode("", true)
|
|
3372
3372
|
])
|
|
3373
3373
|
])) : vue.createCommentVNode("", true)
|
|
3374
|
-
], 8, _hoisted_1$
|
|
3374
|
+
], 8, _hoisted_1$P);
|
|
3375
3375
|
};
|
|
3376
3376
|
}
|
|
3377
3377
|
});
|
|
3378
|
-
const _hoisted_1$
|
|
3379
|
-
const _hoisted_2$
|
|
3378
|
+
const _hoisted_1$O = ["data-variant", "data-authenticated"];
|
|
3379
|
+
const _hoisted_2$N = {
|
|
3380
3380
|
key: 0,
|
|
3381
3381
|
class: "propeller-account-menu__sidebar flex flex-col"
|
|
3382
3382
|
};
|
|
3383
|
-
const _hoisted_3$
|
|
3384
|
-
const _hoisted_4$
|
|
3385
|
-
const _hoisted_5$
|
|
3386
|
-
const _hoisted_6$
|
|
3387
|
-
const _hoisted_7$
|
|
3388
|
-
const _hoisted_8$
|
|
3389
|
-
const _hoisted_9$
|
|
3383
|
+
const _hoisted_3$N = { class: "propeller-account-menu__user px-4 py-3 border-b border-border" };
|
|
3384
|
+
const _hoisted_4$J = { class: "propeller-account-menu__user-label text-xs text-muted-foreground uppercase tracking-wider font-semibold mb-1" };
|
|
3385
|
+
const _hoisted_5$I = { class: "propeller-account-menu__user-name font-medium text-foreground truncate" };
|
|
3386
|
+
const _hoisted_6$H = { class: "propeller-account-menu__nav py-2" };
|
|
3387
|
+
const _hoisted_7$H = { class: "propeller-account-menu__list space-y-0.5" };
|
|
3388
|
+
const _hoisted_8$D = ["onClick", "data-active"];
|
|
3389
|
+
const _hoisted_9$C = { class: "propeller-account-menu__logout-wrapper px-4 py-3 border-t border-border" };
|
|
3390
3390
|
const _hoisted_10$z = ["aria-label", "data-open"];
|
|
3391
3391
|
const _hoisted_11$v = {
|
|
3392
3392
|
fill: "none",
|
|
@@ -3415,8 +3415,8 @@ const _hoisted_21$j = {
|
|
|
3415
3415
|
class: "propeller-account-menu__login-cta text-center py-4"
|
|
3416
3416
|
};
|
|
3417
3417
|
const _hoisted_22$j = { class: "propeller-account-menu__login-title text-lg font-semibold mb-2" };
|
|
3418
|
-
const _hoisted_23$
|
|
3419
|
-
const _sfc_main$
|
|
3418
|
+
const _hoisted_23$j = { class: "propeller-account-menu__login-subtitle text-sm text-muted-foreground mb-4" };
|
|
3419
|
+
const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
3420
3420
|
__name: "AccountIconAndMenu",
|
|
3421
3421
|
props: {
|
|
3422
3422
|
user: {},
|
|
@@ -3458,7 +3458,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
3458
3458
|
const user = vue.computed(
|
|
3459
3459
|
() => infra.user ?? null
|
|
3460
3460
|
);
|
|
3461
|
-
const LoginFormImpl = vue.computed(() => props.loginFormComponent ?? _sfc_main$
|
|
3461
|
+
const LoginFormImpl = vue.computed(() => props.loginFormComponent ?? _sfc_main$U);
|
|
3462
3462
|
const isMounted = vue.ref(false);
|
|
3463
3463
|
const menuOpen = vue.ref(false);
|
|
3464
3464
|
function _onDocumentClick() {
|
|
@@ -3571,14 +3571,14 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
3571
3571
|
onClick: _cache[3] || (_cache[3] = vue.withModifiers(() => {
|
|
3572
3572
|
}, ["stop"]))
|
|
3573
3573
|
}, [
|
|
3574
|
-
isSidebar.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
3574
|
+
isSidebar.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, [
|
|
3575
3575
|
!!user.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
3576
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
3577
|
-
vue.createElementVNode("p", _hoisted_4$
|
|
3578
|
-
vue.createElementVNode("p", _hoisted_5$
|
|
3576
|
+
vue.createElementVNode("div", _hoisted_3$N, [
|
|
3577
|
+
vue.createElementVNode("p", _hoisted_4$J, vue.toDisplayString(getLabel("signedInAs", "Signed in as")), 1),
|
|
3578
|
+
vue.createElementVNode("p", _hoisted_5$I, vue.toDisplayString(getUserName()), 1)
|
|
3579
3579
|
]),
|
|
3580
|
-
vue.createElementVNode("nav", _hoisted_6$
|
|
3581
|
-
vue.createElementVNode("ul", _hoisted_7$
|
|
3580
|
+
vue.createElementVNode("nav", _hoisted_6$H, [
|
|
3581
|
+
vue.createElementVNode("ul", _hoisted_7$H, [
|
|
3582
3582
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getMenuLinks(), (link, index2) => {
|
|
3583
3583
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
3584
3584
|
key: link.href,
|
|
@@ -3589,12 +3589,12 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
3589
3589
|
onClick: async (event) => handleMenuItemClick(link.href),
|
|
3590
3590
|
"data-active": isActiveLink(link.href) ? "true" : "false",
|
|
3591
3591
|
class: vue.normalizeClass(`propeller-account-menu__link flex w-full items-center gap-3 px-4 py-2.5 text-sm font-medium transition-colors ${isActiveLink(link.href) ? "bg-secondary/5 text-secondary border-l-2 border-secondary" : "text-muted-foreground hover:bg-surface-hover hover:text-foreground"}`)
|
|
3592
|
-
}, vue.toDisplayString(link.label), 11, _hoisted_8$
|
|
3592
|
+
}, vue.toDisplayString(link.label), 11, _hoisted_8$D)
|
|
3593
3593
|
]);
|
|
3594
3594
|
}), 128))
|
|
3595
3595
|
])
|
|
3596
3596
|
]),
|
|
3597
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
3597
|
+
vue.createElementVNode("div", _hoisted_9$C, [
|
|
3598
3598
|
vue.createElementVNode("button", {
|
|
3599
3599
|
type: "button",
|
|
3600
3600
|
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",
|
|
@@ -3681,7 +3681,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
3681
3681
|
}, null, 40, ["graphqlClient", "cart", "title", "subtitle", "buttonText", "displayForgotPasswordLink", "displayRegisterLink", "displayGuestCheckoutLink", "labels", "onLoginSubmit", "loginLoading", "loginError", "beforeLogin", "afterLogin", "onForgotPasswordClick", "onRegisterClick", "onGuestCheckoutClick", "accountHeaderLoginForm"])) : vue.createCommentVNode("", true),
|
|
3682
3682
|
__props.accountHeaderLoginForm === false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$j, [
|
|
3683
3683
|
vue.createElementVNode("h4", _hoisted_22$j, vue.toDisplayString(getMenuTitle()), 1),
|
|
3684
|
-
vue.createElementVNode("p", _hoisted_23$
|
|
3684
|
+
vue.createElementVNode("p", _hoisted_23$j, vue.toDisplayString(getLabel("loginSubtitle", "Login to access your account")), 1),
|
|
3685
3685
|
vue.createElementVNode("button", {
|
|
3686
3686
|
type: "button",
|
|
3687
3687
|
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",
|
|
@@ -3695,37 +3695,37 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
3695
3695
|
], 64)) : vue.createCommentVNode("", true)
|
|
3696
3696
|
], 2)) : vue.createCommentVNode("", true)
|
|
3697
3697
|
], 64)) : vue.createCommentVNode("", true)
|
|
3698
|
-
], 8, _hoisted_1$
|
|
3698
|
+
], 8, _hoisted_1$O);
|
|
3699
3699
|
};
|
|
3700
3700
|
}
|
|
3701
3701
|
});
|
|
3702
|
-
const _hoisted_1$
|
|
3703
|
-
const _hoisted_2$
|
|
3704
|
-
const _hoisted_3$
|
|
3702
|
+
const _hoisted_1$N = { class: "propeller-action-code w-full bg-card p-6 rounded-[var(--radius-container)] shadow space-y-3" };
|
|
3703
|
+
const _hoisted_2$M = { class: "text-lg font-bold" };
|
|
3704
|
+
const _hoisted_3$M = {
|
|
3705
3705
|
key: 0,
|
|
3706
3706
|
class: "flex items-center justify-between bg-secondary/5 border border-secondary/20 rounded-[var(--radius-control)] px-3 py-2"
|
|
3707
3707
|
};
|
|
3708
|
-
const _hoisted_4$
|
|
3709
|
-
const _hoisted_5$
|
|
3708
|
+
const _hoisted_4$I = { class: "flex items-center gap-2" };
|
|
3709
|
+
const _hoisted_5$H = {
|
|
3710
3710
|
fill: "none",
|
|
3711
3711
|
viewBox: "0 0 24 24",
|
|
3712
3712
|
stroke: "currentColor",
|
|
3713
3713
|
class: "w-4 h-4 text-secondary",
|
|
3714
3714
|
strokeWidth: 2
|
|
3715
3715
|
};
|
|
3716
|
-
const _hoisted_6$
|
|
3717
|
-
const _hoisted_7$
|
|
3718
|
-
const _hoisted_8$
|
|
3716
|
+
const _hoisted_6$G = { class: "text-sm font-medium text-secondary" };
|
|
3717
|
+
const _hoisted_7$G = ["disabled"];
|
|
3718
|
+
const _hoisted_8$C = {
|
|
3719
3719
|
key: 1,
|
|
3720
3720
|
class: "flex gap-2"
|
|
3721
3721
|
};
|
|
3722
|
-
const _hoisted_9$
|
|
3722
|
+
const _hoisted_9$B = ["value", "placeholder", "disabled"];
|
|
3723
3723
|
const _hoisted_10$y = ["disabled"];
|
|
3724
3724
|
const _hoisted_11$u = {
|
|
3725
3725
|
key: 2,
|
|
3726
3726
|
class: "propeller-action-code__error text-sm text-destructive"
|
|
3727
3727
|
};
|
|
3728
|
-
const _sfc_main$
|
|
3728
|
+
const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
3729
3729
|
__name: "ActionCode",
|
|
3730
3730
|
props: {
|
|
3731
3731
|
graphqlClient: {},
|
|
@@ -3820,19 +3820,19 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
3820
3820
|
}
|
|
3821
3821
|
}
|
|
3822
3822
|
return (_ctx, _cache) => {
|
|
3823
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3824
|
-
vue.createElementVNode("h2", _hoisted_2$
|
|
3823
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
|
|
3824
|
+
vue.createElementVNode("h2", _hoisted_2$M, vue.toDisplayString(title.value), 1),
|
|
3825
3825
|
isMounted.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
3826
|
-
hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
3827
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
3828
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_5$
|
|
3826
|
+
hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$M, [
|
|
3827
|
+
vue.createElementVNode("div", _hoisted_4$I, [
|
|
3828
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_5$H, [..._cache[4] || (_cache[4] = [
|
|
3829
3829
|
vue.createElementVNode("path", {
|
|
3830
3830
|
strokeLinecap: "round",
|
|
3831
3831
|
strokeLinejoin: "round",
|
|
3832
3832
|
d: "M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
3833
3833
|
}, null, -1)
|
|
3834
3834
|
])])),
|
|
3835
|
-
vue.createElementVNode("span", _hoisted_6$
|
|
3835
|
+
vue.createElementVNode("span", _hoisted_6$G, vue.toDisplayString(appliedCode.value), 1)
|
|
3836
3836
|
]),
|
|
3837
3837
|
showRemoveCode.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3838
3838
|
key: 0,
|
|
@@ -3840,9 +3840,9 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
3840
3840
|
class: "text-secondary hover:text-secondary text-sm font-medium transition-colors disabled:opacity-50",
|
|
3841
3841
|
onClick: _cache[0] || (_cache[0] = async (event) => handleRemove()),
|
|
3842
3842
|
disabled: vue.unref(loading)
|
|
3843
|
-
}, vue.toDisplayString(getLabel("remove", "Remove")), 9, _hoisted_7$
|
|
3843
|
+
}, vue.toDisplayString(getLabel("remove", "Remove")), 9, _hoisted_7$G)) : vue.createCommentVNode("", true)
|
|
3844
3844
|
])) : vue.createCommentVNode("", true),
|
|
3845
|
-
!hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
3845
|
+
!hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$C, [
|
|
3846
3846
|
vue.createElementVNode("input", {
|
|
3847
3847
|
type: "text",
|
|
3848
3848
|
class: "propeller-action-code__input flex-1 text-sm border border-input rounded-[var(--radius-control)] px-3 py-2 focus:ring-2 focus:ring-secondary focus:border-transparent disabled:opacity-50",
|
|
@@ -3853,7 +3853,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
3853
3853
|
onKeydown: _cache[2] || (_cache[2] = async (e) => handleKeyDown(e)),
|
|
3854
3854
|
placeholder: getLabel("placeholder", "Enter action code"),
|
|
3855
3855
|
disabled: vue.unref(loading)
|
|
3856
|
-
}, null, 40, _hoisted_9$
|
|
3856
|
+
}, null, 40, _hoisted_9$B),
|
|
3857
3857
|
vue.createElementVNode("button", {
|
|
3858
3858
|
type: "button",
|
|
3859
3859
|
class: "propeller-action-code__submit bg-secondary text-primary-foreground text-sm font-medium px-4 py-2 rounded-[var(--radius-control)] hover:bg-secondary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap",
|
|
@@ -3874,100 +3874,110 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
3874
3874
|
};
|
|
3875
3875
|
}
|
|
3876
3876
|
});
|
|
3877
|
-
const _hoisted_1$
|
|
3878
|
-
const _hoisted_2$
|
|
3879
|
-
const _hoisted_3$
|
|
3877
|
+
const _hoisted_1$M = ["data-loading"];
|
|
3878
|
+
const _hoisted_2$L = { class: "propeller-add-to-cart__controls flex flex-wrap items-center gap-2 w-full md:flex-nowrap" };
|
|
3879
|
+
const _hoisted_3$L = {
|
|
3880
3880
|
key: 0,
|
|
3881
|
-
class: "propeller-add-to-cart__stepper flex items-center border border-input rounded-[var(--radius-control)] bg-card h-10"
|
|
3882
|
-
};
|
|
3883
|
-
const _hoisted_4$
|
|
3884
|
-
const _hoisted_5$
|
|
3885
|
-
const _hoisted_6$
|
|
3886
|
-
const _hoisted_7$
|
|
3887
|
-
const _hoisted_8$
|
|
3888
|
-
const _hoisted_9$
|
|
3889
|
-
|
|
3881
|
+
class: "propeller-add-to-cart__stepper flex items-center border border-input rounded-[var(--radius-control)] bg-card h-10 w-full md:w-auto"
|
|
3882
|
+
};
|
|
3883
|
+
const _hoisted_4$H = ["disabled"];
|
|
3884
|
+
const _hoisted_5$G = ["min", "step", "value"];
|
|
3885
|
+
const _hoisted_6$F = ["disabled"];
|
|
3886
|
+
const _hoisted_7$F = ["min", "step", "value"];
|
|
3887
|
+
const _hoisted_8$B = ["disabled"];
|
|
3888
|
+
const _hoisted_9$A = {
|
|
3889
|
+
class: "propeller-add-to-cart__icon w-[1.1em] h-[1.1em] flex-shrink-0",
|
|
3890
|
+
viewBox: "0 0 24 24",
|
|
3891
|
+
fill: "none",
|
|
3892
|
+
stroke: "currentColor",
|
|
3893
|
+
strokeWidth: 2,
|
|
3894
|
+
strokeLinecap: "round",
|
|
3895
|
+
strokeLinejoin: "round",
|
|
3896
|
+
"aria-hidden": "true"
|
|
3897
|
+
};
|
|
3898
|
+
const _hoisted_10$x = ["data-toast-type"];
|
|
3899
|
+
const _hoisted_11$t = {
|
|
3890
3900
|
key: 0,
|
|
3891
3901
|
fill: "none",
|
|
3892
3902
|
viewBox: "0 0 24 24",
|
|
3893
3903
|
stroke: "currentColor",
|
|
3894
3904
|
strokeWidth: 2
|
|
3895
3905
|
};
|
|
3896
|
-
const
|
|
3906
|
+
const _hoisted_12$t = {
|
|
3897
3907
|
key: 1,
|
|
3898
3908
|
fill: "none",
|
|
3899
3909
|
viewBox: "0 0 24 24",
|
|
3900
3910
|
stroke: "currentColor",
|
|
3901
3911
|
strokeWidth: 2
|
|
3902
3912
|
};
|
|
3903
|
-
const
|
|
3913
|
+
const _hoisted_13$r = {
|
|
3904
3914
|
fill: "none",
|
|
3905
3915
|
viewBox: "0 0 24 24",
|
|
3906
3916
|
stroke: "currentColor",
|
|
3907
3917
|
class: "h-4 w-4",
|
|
3908
3918
|
strokeWidth: 2
|
|
3909
3919
|
};
|
|
3910
|
-
const
|
|
3920
|
+
const _hoisted_14$r = {
|
|
3911
3921
|
key: 1,
|
|
3912
3922
|
class: "propeller-add-to-cart__modal fixed inset-0 z-50 flex items-center justify-center px-4"
|
|
3913
3923
|
};
|
|
3914
|
-
const
|
|
3915
|
-
const
|
|
3916
|
-
const
|
|
3924
|
+
const _hoisted_15$q = { class: "propeller-add-to-cart__modal-content relative w-full max-w-lg bg-card rounded-[var(--radius-container)] shadow-2xl overflow-hidden" };
|
|
3925
|
+
const _hoisted_16$p = { class: "propeller-add-to-cart__modal-header flex items-center gap-3 px-6 py-4 border-b border-border-subtle" };
|
|
3926
|
+
const _hoisted_17$p = {
|
|
3917
3927
|
fill: "none",
|
|
3918
3928
|
viewBox: "0 0 24 24",
|
|
3919
3929
|
stroke: "currentColor",
|
|
3920
3930
|
class: "propeller-add-to-cart__modal-success-icon h-5 w-5 flex-shrink-0 text-success",
|
|
3921
3931
|
strokeWidth: 2
|
|
3922
3932
|
};
|
|
3923
|
-
const
|
|
3924
|
-
const
|
|
3933
|
+
const _hoisted_18$n = { class: "propeller-add-to-cart__modal-title flex-1 text-base font-semibold text-foreground" };
|
|
3934
|
+
const _hoisted_19$m = {
|
|
3925
3935
|
fill: "none",
|
|
3926
3936
|
viewBox: "0 0 24 24",
|
|
3927
3937
|
stroke: "currentColor",
|
|
3928
3938
|
class: "h-5 w-5",
|
|
3929
3939
|
strokeWidth: 2
|
|
3930
3940
|
};
|
|
3931
|
-
const
|
|
3932
|
-
const
|
|
3933
|
-
const
|
|
3934
|
-
const
|
|
3941
|
+
const _hoisted_20$k = { class: "propeller-add-to-cart__modal-body px-6 py-5" };
|
|
3942
|
+
const _hoisted_21$i = { class: "propeller-add-to-cart__modal-product flex items-start gap-4" };
|
|
3943
|
+
const _hoisted_22$i = ["src", "alt"];
|
|
3944
|
+
const _hoisted_23$i = {
|
|
3935
3945
|
key: 1,
|
|
3936
3946
|
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"
|
|
3937
3947
|
};
|
|
3938
|
-
const
|
|
3948
|
+
const _hoisted_24$h = {
|
|
3939
3949
|
fill: "none",
|
|
3940
3950
|
viewBox: "0 0 24 24",
|
|
3941
3951
|
stroke: "currentColor",
|
|
3942
3952
|
class: "w-8 h-8 text-foreground-subtle",
|
|
3943
3953
|
strokeWidth: 1.5
|
|
3944
3954
|
};
|
|
3945
|
-
const
|
|
3946
|
-
const
|
|
3947
|
-
const
|
|
3955
|
+
const _hoisted_25$h = { class: "flex-1 min-w-0" };
|
|
3956
|
+
const _hoisted_26$h = ["href"];
|
|
3957
|
+
const _hoisted_27$h = {
|
|
3948
3958
|
key: 0,
|
|
3949
3959
|
class: "propeller-add-to-cart__modal-sku text-xs text-foreground-subtle mt-0.5"
|
|
3950
3960
|
};
|
|
3951
|
-
const
|
|
3961
|
+
const _hoisted_28$g = {
|
|
3952
3962
|
key: 1,
|
|
3953
3963
|
class: "propeller-add-to-cart__modal-surcharges mt-1 text-xs text-muted-foreground"
|
|
3954
3964
|
};
|
|
3955
|
-
const
|
|
3956
|
-
const
|
|
3957
|
-
const
|
|
3958
|
-
const
|
|
3959
|
-
const
|
|
3965
|
+
const _hoisted_29$g = { class: "font-medium" };
|
|
3966
|
+
const _hoisted_30$g = { class: "propeller-add-to-cart__modal-surcharges-list mt-0.5" };
|
|
3967
|
+
const _hoisted_31$g = { class: "flex-shrink-0 text-right" };
|
|
3968
|
+
const _hoisted_32$f = { class: "propeller-add-to-cart__modal-quantity text-xs text-muted-foreground" };
|
|
3969
|
+
const _hoisted_33$e = {
|
|
3960
3970
|
key: 1,
|
|
3961
3971
|
class: "propeller-add-to-cart__modal-price text-sm font-semibold text-foreground mt-0.5"
|
|
3962
3972
|
};
|
|
3963
|
-
const
|
|
3973
|
+
const _hoisted_34$c = {
|
|
3964
3974
|
key: 0,
|
|
3965
3975
|
class: "propeller-add-to-cart__modal-children mt-3 ml-20 space-y-1 border-l-2 border-border-subtle pl-2"
|
|
3966
3976
|
};
|
|
3967
|
-
const
|
|
3968
|
-
const
|
|
3969
|
-
const
|
|
3970
|
-
const _sfc_main$
|
|
3977
|
+
const _hoisted_35$c = { class: "line-clamp-1" };
|
|
3978
|
+
const _hoisted_36$c = { class: "text-foreground-subtle whitespace-nowrap ml-2" };
|
|
3979
|
+
const _hoisted_37$c = { class: "propeller-add-to-cart__modal-actions flex gap-3 px-6 py-4 border-t border-border-subtle" };
|
|
3980
|
+
const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
3971
3981
|
__name: "AddToCart",
|
|
3972
3982
|
props: {
|
|
3973
3983
|
graphqlClient: {},
|
|
@@ -4177,17 +4187,17 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4177
4187
|
class: vue.normalizeClass(`propeller-add-to-cart ${__props.className || ""}`),
|
|
4178
4188
|
"data-loading": vue.unref(loading) ? "true" : "false"
|
|
4179
4189
|
}, [
|
|
4180
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
4181
|
-
__props.allowIncrDecr !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
4190
|
+
vue.createElementVNode("div", _hoisted_2$L, [
|
|
4191
|
+
__props.allowIncrDecr !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$L, [
|
|
4182
4192
|
vue.createElementVNode("button", {
|
|
4183
4193
|
type: "button",
|
|
4184
4194
|
class: "propeller-add-to-cart__decrement px-3 h-full text-muted-foreground hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed transition-colors rounded-l-[var(--radius-control)] select-none",
|
|
4185
4195
|
onClick: _cache[0] || (_cache[0] = async (event) => decrement()),
|
|
4186
4196
|
disabled: quantity.value <= vue.unref(getMinQuantity)(props.product) || vue.unref(loading)
|
|
4187
|
-
}, " -", 8, _hoisted_4$
|
|
4197
|
+
}, " -", 8, _hoisted_4$H),
|
|
4188
4198
|
vue.createElementVNode("input", {
|
|
4189
4199
|
type: "number",
|
|
4190
|
-
class: "propeller-add-to-cart__quantity w-12 text-center text-sm bg-transparent border-none focus:ring-0 focus:outline-none h-full [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
|
|
4200
|
+
class: "propeller-add-to-cart__quantity flex-1 md:flex-none md:w-12 text-center text-sm bg-transparent border-none focus:ring-0 focus:outline-none h-full [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
|
|
4191
4201
|
min: vue.unref(getMinQuantity)(props.product),
|
|
4192
4202
|
step: vue.unref(getStep)(props.product),
|
|
4193
4203
|
value: quantity.value,
|
|
@@ -4199,18 +4209,18 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4199
4209
|
quantity.value = Math.round((val - min) / step) * step + min;
|
|
4200
4210
|
}
|
|
4201
4211
|
})
|
|
4202
|
-
}, null, 40, _hoisted_5$
|
|
4212
|
+
}, null, 40, _hoisted_5$G),
|
|
4203
4213
|
vue.createElementVNode("button", {
|
|
4204
4214
|
type: "button",
|
|
4205
4215
|
class: "propeller-add-to-cart__increment px-3 h-full text-muted-foreground hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed transition-colors rounded-r-[var(--radius-control)] select-none",
|
|
4206
4216
|
onClick: _cache[2] || (_cache[2] = async (event) => increment()),
|
|
4207
4217
|
disabled: vue.unref(loading)
|
|
4208
|
-
}, " + ", 8, _hoisted_6$
|
|
4218
|
+
}, " + ", 8, _hoisted_6$F)
|
|
4209
4219
|
])) : vue.createCommentVNode("", true),
|
|
4210
4220
|
__props.allowIncrDecr === false ? (vue.openBlock(), vue.createElementBlock("input", {
|
|
4211
4221
|
key: 1,
|
|
4212
4222
|
type: "number",
|
|
4213
|
-
class: "propeller-add-to-cart__quantity w-16 h-10 text-center text-sm border border-input rounded-[var(--radius-control)] focus:ring-2 focus:ring-secondary focus:border-transparent [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
|
|
4223
|
+
class: "propeller-add-to-cart__quantity w-full md:w-16 h-10 text-center text-sm border border-input rounded-[var(--radius-control)] focus:ring-2 focus:ring-secondary focus:border-transparent [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
|
|
4214
4224
|
min: vue.unref(getMinQuantity)(props.product),
|
|
4215
4225
|
step: vue.unref(getStep)(props.product),
|
|
4216
4226
|
value: quantity.value,
|
|
@@ -4222,20 +4232,33 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4222
4232
|
quantity.value = Math.round((val - min) / step) * step + min;
|
|
4223
4233
|
}
|
|
4224
4234
|
})
|
|
4225
|
-
}, null, 40, _hoisted_7$
|
|
4235
|
+
}, null, 40, _hoisted_7$F)) : vue.createCommentVNode("", true),
|
|
4226
4236
|
vue.createElementVNode("button", {
|
|
4227
4237
|
type: "button",
|
|
4228
|
-
class: "propeller-add-to-cart__submit flex-1 inline-flex justify-center items-center h-10 px-6 border border-transparent text-sm font-medium rounded-[var(--radius-control)] text-primary-foreground bg-secondary hover:bg-secondary/90 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-secondary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
|
|
4238
|
+
class: "propeller-add-to-cart__submit flex-1 basis-full md:basis-auto inline-flex justify-center items-center gap-2 h-10 px-6 border border-transparent text-sm font-medium rounded-[var(--radius-control)] text-primary-foreground bg-secondary hover:bg-secondary/90 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-secondary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
|
|
4229
4239
|
onClick: _cache[4] || (_cache[4] = async (event) => handleAddToCart()),
|
|
4230
4240
|
disabled: vue.unref(loading)
|
|
4231
4241
|
}, [
|
|
4242
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$A, [..._cache[11] || (_cache[11] = [
|
|
4243
|
+
vue.createElementVNode("circle", {
|
|
4244
|
+
cx: "8",
|
|
4245
|
+
cy: "21",
|
|
4246
|
+
r: "1"
|
|
4247
|
+
}, null, -1),
|
|
4248
|
+
vue.createElementVNode("circle", {
|
|
4249
|
+
cx: "19",
|
|
4250
|
+
cy: "21",
|
|
4251
|
+
r: "1"
|
|
4252
|
+
}, null, -1),
|
|
4253
|
+
vue.createElementVNode("path", { d: "M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12" }, null, -1)
|
|
4254
|
+
])])),
|
|
4232
4255
|
vue.unref(loading) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
4233
4256
|
vue.createTextVNode(vue.toDisplayString(getLabel("adding", "Adding...")), 1)
|
|
4234
4257
|
], 64)) : vue.createCommentVNode("", true),
|
|
4235
4258
|
!vue.unref(loading) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
4236
4259
|
vue.createTextVNode(vue.toDisplayString(getLabel("add", "Add")), 1)
|
|
4237
4260
|
], 64)) : vue.createCommentVNode("", true)
|
|
4238
|
-
], 8, _hoisted_8$
|
|
4261
|
+
], 8, _hoisted_8$B)
|
|
4239
4262
|
]),
|
|
4240
4263
|
toastVisible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
4241
4264
|
key: 0,
|
|
@@ -4245,14 +4268,14 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4245
4268
|
vue.createElementVNode("div", {
|
|
4246
4269
|
class: vue.normalizeClass(`propeller-add-to-cart__toast-icon flex-shrink-0 w-5 h-5 mt-0.5 ${toastType.value === "success" ? "text-success-foreground" : "text-destructive-foreground"}`)
|
|
4247
4270
|
}, [
|
|
4248
|
-
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg",
|
|
4271
|
+
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_11$t, [..._cache[12] || (_cache[12] = [
|
|
4249
4272
|
vue.createElementVNode("path", {
|
|
4250
4273
|
strokeLinecap: "round",
|
|
4251
4274
|
strokeLinejoin: "round",
|
|
4252
4275
|
d: "M5 13l4 4L19 7"
|
|
4253
4276
|
}, null, -1)
|
|
4254
4277
|
])])) : vue.createCommentVNode("", true),
|
|
4255
|
-
toastType.value === "error" ? (vue.openBlock(), vue.createElementBlock("svg",
|
|
4278
|
+
toastType.value === "error" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_12$t, [..._cache[13] || (_cache[13] = [
|
|
4256
4279
|
vue.createElementVNode("path", {
|
|
4257
4280
|
strokeLinecap: "round",
|
|
4258
4281
|
strokeLinejoin: "round",
|
|
@@ -4268,7 +4291,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4268
4291
|
onClick: _cache[5] || (_cache[5] = async (event) => dismissToast()),
|
|
4269
4292
|
class: vue.normalizeClass(`propeller-add-to-cart__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"}`)
|
|
4270
4293
|
}, [
|
|
4271
|
-
(vue.openBlock(), vue.createElementBlock("svg",
|
|
4294
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_13$r, [..._cache[14] || (_cache[14] = [
|
|
4272
4295
|
vue.createElementVNode("path", {
|
|
4273
4296
|
strokeLinecap: "round",
|
|
4274
4297
|
strokeLinejoin: "round",
|
|
@@ -4276,28 +4299,28 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4276
4299
|
}, null, -1)
|
|
4277
4300
|
])]))
|
|
4278
4301
|
], 2)
|
|
4279
|
-
], 10,
|
|
4280
|
-
modalVisible.value ? (vue.openBlock(), vue.createElementBlock("div",
|
|
4302
|
+
], 10, _hoisted_10$x)) : vue.createCommentVNode("", true),
|
|
4303
|
+
modalVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$r, [
|
|
4281
4304
|
vue.createElementVNode("div", {
|
|
4282
4305
|
class: "propeller-add-to-cart__modal-backdrop fixed inset-0 bg-foreground/20",
|
|
4283
4306
|
onClick: _cache[6] || (_cache[6] = async (event) => closeModal())
|
|
4284
4307
|
}),
|
|
4285
|
-
vue.createElementVNode("div",
|
|
4286
|
-
vue.createElementVNode("div",
|
|
4287
|
-
(vue.openBlock(), vue.createElementBlock("svg",
|
|
4308
|
+
vue.createElementVNode("div", _hoisted_15$q, [
|
|
4309
|
+
vue.createElementVNode("div", _hoisted_16$p, [
|
|
4310
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_17$p, [..._cache[15] || (_cache[15] = [
|
|
4288
4311
|
vue.createElementVNode("path", {
|
|
4289
4312
|
strokeLinecap: "round",
|
|
4290
4313
|
strokeLinejoin: "round",
|
|
4291
4314
|
d: "M5 13l4 4L19 7"
|
|
4292
4315
|
}, null, -1)
|
|
4293
4316
|
])])),
|
|
4294
|
-
vue.createElementVNode("h3",
|
|
4317
|
+
vue.createElementVNode("h3", _hoisted_18$n, vue.toDisplayString(getLabel("modalTitle", "Added to cart")), 1),
|
|
4295
4318
|
vue.createElementVNode("button", {
|
|
4296
4319
|
type: "button",
|
|
4297
4320
|
class: "propeller-add-to-cart__modal-close flex-shrink-0 text-foreground-subtle hover:text-muted-foreground focus:outline-none",
|
|
4298
4321
|
onClick: _cache[7] || (_cache[7] = async (event) => closeModal())
|
|
4299
4322
|
}, [
|
|
4300
|
-
(vue.openBlock(), vue.createElementBlock("svg",
|
|
4323
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_19$m, [..._cache[16] || (_cache[16] = [
|
|
4301
4324
|
vue.createElementVNode("path", {
|
|
4302
4325
|
strokeLinecap: "round",
|
|
4303
4326
|
strokeLinejoin: "round",
|
|
@@ -4306,16 +4329,16 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4306
4329
|
])]))
|
|
4307
4330
|
])
|
|
4308
4331
|
]),
|
|
4309
|
-
vue.createElementVNode("div",
|
|
4310
|
-
vue.createElementVNode("div",
|
|
4332
|
+
vue.createElementVNode("div", _hoisted_20$k, [
|
|
4333
|
+
vue.createElementVNode("div", _hoisted_21$i, [
|
|
4311
4334
|
!!getModalImageUrl() ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
4312
4335
|
key: 0,
|
|
4313
4336
|
class: "propeller-add-to-cart__modal-image w-16 h-16 object-contain rounded border border-border-subtle flex-shrink-0",
|
|
4314
4337
|
src: getModalImageUrl(),
|
|
4315
4338
|
alt: getModalName()
|
|
4316
|
-
}, null, 8,
|
|
4317
|
-
!getModalImageUrl() ? (vue.openBlock(), vue.createElementBlock("div",
|
|
4318
|
-
(vue.openBlock(), vue.createElementBlock("svg",
|
|
4339
|
+
}, null, 8, _hoisted_22$i)) : vue.createCommentVNode("", true),
|
|
4340
|
+
!getModalImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$i, [
|
|
4341
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_24$h, [..._cache[17] || (_cache[17] = [
|
|
4319
4342
|
vue.createElementVNode("path", {
|
|
4320
4343
|
strokeLinecap: "round",
|
|
4321
4344
|
strokeLinejoin: "round",
|
|
@@ -4323,15 +4346,15 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4323
4346
|
}, null, -1)
|
|
4324
4347
|
])]))
|
|
4325
4348
|
])) : vue.createCommentVNode("", true),
|
|
4326
|
-
vue.createElementVNode("div",
|
|
4349
|
+
vue.createElementVNode("div", _hoisted_25$h, [
|
|
4327
4350
|
vue.createElementVNode("a", {
|
|
4328
4351
|
class: "propeller-add-to-cart__modal-product-title text-sm font-medium text-secondary leading-tight hover:underline line-clamp-2",
|
|
4329
4352
|
href: getProductUrl()
|
|
4330
|
-
}, vue.toDisplayString(getModalName()), 9,
|
|
4331
|
-
!!getModalSku() ? (vue.openBlock(), vue.createElementBlock("p",
|
|
4332
|
-
getModalSurcharges().length > 0 ? (vue.openBlock(), vue.createElementBlock("div",
|
|
4333
|
-
vue.createElementVNode("span",
|
|
4334
|
-
vue.createElementVNode("ul",
|
|
4353
|
+
}, vue.toDisplayString(getModalName()), 9, _hoisted_26$h),
|
|
4354
|
+
!!getModalSku() ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_27$h, " SKU: " + vue.toDisplayString(getModalSku()), 1)) : vue.createCommentVNode("", true),
|
|
4355
|
+
getModalSurcharges().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$g, [
|
|
4356
|
+
vue.createElementVNode("span", _hoisted_29$g, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
|
|
4357
|
+
vue.createElementVNode("ul", _hoisted_30$g, [
|
|
4335
4358
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getModalSurcharges(), (line, idx) => {
|
|
4336
4359
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
4337
4360
|
key: idx,
|
|
@@ -4341,8 +4364,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4341
4364
|
])
|
|
4342
4365
|
])) : vue.createCommentVNode("", true)
|
|
4343
4366
|
]),
|
|
4344
|
-
vue.createElementVNode("div",
|
|
4345
|
-
vue.createElementVNode("p",
|
|
4367
|
+
vue.createElementVNode("div", _hoisted_31$g, [
|
|
4368
|
+
vue.createElementVNode("p", _hoisted_32$f, vue.toDisplayString(getLabel("quantity", "Quantity")) + ": " + vue.toDisplayString(quantity.value), 1),
|
|
4346
4369
|
!!getModalPrice() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
4347
4370
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
4348
4371
|
key: 0,
|
|
@@ -4350,23 +4373,23 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4350
4373
|
"include-tax": resolvedIncludeTax.value,
|
|
4351
4374
|
currency: __props.currency,
|
|
4352
4375
|
labels: __props.labels
|
|
4353
|
-
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("p",
|
|
4376
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_33$e, vue.toDisplayString(getModalPrice()), 1))
|
|
4354
4377
|
], 64)) : vue.createCommentVNode("", true)
|
|
4355
4378
|
])
|
|
4356
4379
|
]),
|
|
4357
|
-
getChildItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div",
|
|
4380
|
+
getChildItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_34$c, [
|
|
4358
4381
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getChildItems(), (child, idx) => {
|
|
4359
4382
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
4360
4383
|
key: idx,
|
|
4361
4384
|
class: "propeller-add-to-cart__modal-child flex justify-between items-center text-xs text-muted-foreground"
|
|
4362
4385
|
}, [
|
|
4363
|
-
vue.createElementVNode("span",
|
|
4364
|
-
vue.createElementVNode("span",
|
|
4386
|
+
vue.createElementVNode("span", _hoisted_35$c, vue.toDisplayString(child.product?.names?.[0]?.value || "Option"), 1),
|
|
4387
|
+
vue.createElementVNode("span", _hoisted_36$c, vue.toDisplayString(getChildItemPrice(child)), 1)
|
|
4365
4388
|
]);
|
|
4366
4389
|
}), 128))
|
|
4367
4390
|
])) : vue.createCommentVNode("", true)
|
|
4368
4391
|
]),
|
|
4369
|
-
vue.createElementVNode("div",
|
|
4392
|
+
vue.createElementVNode("div", _hoisted_37$c, [
|
|
4370
4393
|
vue.createElementVNode("button", {
|
|
4371
4394
|
type: "button",
|
|
4372
4395
|
class: "propeller-add-to-cart__modal-continue flex-1 inline-flex justify-center rounded-[var(--radius-control)] border border-input bg-card px-4 py-2 text-sm font-medium text-muted-foreground hover:bg-surface-hover focus:outline-none focus:ring-2 focus:ring-secondary focus:ring-offset-2",
|
|
@@ -4393,13 +4416,13 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4393
4416
|
])
|
|
4394
4417
|
])
|
|
4395
4418
|
])) : vue.createCommentVNode("", true)
|
|
4396
|
-
], 10, _hoisted_1$
|
|
4419
|
+
], 10, _hoisted_1$M);
|
|
4397
4420
|
};
|
|
4398
4421
|
}
|
|
4399
4422
|
});
|
|
4400
|
-
const _hoisted_1$
|
|
4401
|
-
const _hoisted_2$
|
|
4402
|
-
const _hoisted_3$
|
|
4423
|
+
const _hoisted_1$L = ["data-favorited"];
|
|
4424
|
+
const _hoisted_2$K = ["title"];
|
|
4425
|
+
const _hoisted_3$K = {
|
|
4403
4426
|
key: 0,
|
|
4404
4427
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4405
4428
|
width: "20",
|
|
@@ -4411,7 +4434,7 @@ const _hoisted_3$J = {
|
|
|
4411
4434
|
strokeLinecap: "round",
|
|
4412
4435
|
strokeLinejoin: "round"
|
|
4413
4436
|
};
|
|
4414
|
-
const _hoisted_4$
|
|
4437
|
+
const _hoisted_4$G = {
|
|
4415
4438
|
key: 1,
|
|
4416
4439
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4417
4440
|
width: "20",
|
|
@@ -4423,14 +4446,14 @@ const _hoisted_4$F = {
|
|
|
4423
4446
|
strokeLinecap: "round",
|
|
4424
4447
|
strokeLinejoin: "round"
|
|
4425
4448
|
};
|
|
4426
|
-
const _hoisted_5$
|
|
4449
|
+
const _hoisted_5$F = {
|
|
4427
4450
|
key: 0,
|
|
4428
4451
|
class: "propeller-add-to-favorite__modal fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50 p-4"
|
|
4429
4452
|
};
|
|
4430
|
-
const _hoisted_6$
|
|
4431
|
-
const _hoisted_7$
|
|
4432
|
-
const _hoisted_8$
|
|
4433
|
-
const _hoisted_9$
|
|
4453
|
+
const _hoisted_6$E = { class: "propeller-add-to-favorite__modal-content bg-card rounded-[var(--radius-container)] max-w-md w-full shadow-lg border" };
|
|
4454
|
+
const _hoisted_7$E = { class: "propeller-add-to-favorite__modal-header flex justify-between items-center p-6 pb-4" };
|
|
4455
|
+
const _hoisted_8$A = { class: "propeller-add-to-favorite__modal-title text-xl font-bold" };
|
|
4456
|
+
const _hoisted_9$z = { class: "propeller-add-to-favorite__modal-body px-6 pb-6 space-y-4" };
|
|
4434
4457
|
const _hoisted_10$w = { class: "propeller-add-to-favorite__member-lists space-y-2" };
|
|
4435
4458
|
const _hoisted_11$s = ["onClick", "disabled"];
|
|
4436
4459
|
const _hoisted_12$s = { class: "text-sm font-medium" };
|
|
@@ -4448,7 +4471,7 @@ const _hoisted_20$j = {
|
|
|
4448
4471
|
key: 2,
|
|
4449
4472
|
class: "propeller-add-to-favorite__empty py-4 text-center text-muted-foreground text-sm"
|
|
4450
4473
|
};
|
|
4451
|
-
const _sfc_main$
|
|
4474
|
+
const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
4452
4475
|
__name: "AddToFavorite",
|
|
4453
4476
|
props: {
|
|
4454
4477
|
graphqlClient: {},
|
|
@@ -4597,17 +4620,17 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
4597
4620
|
title: isFavorited.value ? getLabel("removeFromFavorites", "Remove from favorites") : getLabel("addToFavorites", "Add to favorites"),
|
|
4598
4621
|
class: vue.normalizeClass(`propeller-add-to-favorite__btn inline-flex items-center justify-center rounded-[var(--radius-control)] border p-2.5 transition-colors ${isFavorited.value ? "border-primary/30 bg-primary/5 text-primary hover:bg-primary/10" : "border-border bg-card text-foreground-subtle hover:text-primary hover:border-primary/30 hover:bg-primary/5"} ${__props.className || ""}`)
|
|
4599
4622
|
}, [
|
|
4600
|
-
isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$
|
|
4623
|
+
isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$K, [..._cache[5] || (_cache[5] = [
|
|
4601
4624
|
vue.createElementVNode("path", { d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3.332.67-4.5 2.17C10.832 3.67 9.26 3 7.5 3A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" }, null, -1)
|
|
4602
4625
|
])])) : vue.createCommentVNode("", true),
|
|
4603
|
-
!isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$
|
|
4626
|
+
!isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$G, [..._cache[6] || (_cache[6] = [
|
|
4604
4627
|
vue.createElementVNode("path", { d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3.332.67-4.5 2.17C10.832 3.67 9.26 3 7.5 3A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" }, null, -1)
|
|
4605
4628
|
])])) : vue.createCommentVNode("", true)
|
|
4606
|
-
], 10, _hoisted_2$
|
|
4607
|
-
showModal.value && _isMounted.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
4608
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
4609
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
4610
|
-
vue.createElementVNode("h3", _hoisted_8$
|
|
4629
|
+
], 10, _hoisted_2$K),
|
|
4630
|
+
showModal.value && _isMounted.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$F, [
|
|
4631
|
+
vue.createElementVNode("div", _hoisted_6$E, [
|
|
4632
|
+
vue.createElementVNode("div", _hoisted_7$E, [
|
|
4633
|
+
vue.createElementVNode("h3", _hoisted_8$A, vue.toDisplayString(getLabel("modalTitle", "Favorite product?")), 1),
|
|
4611
4634
|
vue.createElementVNode("button", {
|
|
4612
4635
|
type: "button",
|
|
4613
4636
|
class: "propeller-add-to-favorite__modal-close 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",
|
|
@@ -4629,7 +4652,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
4629
4652
|
], -1)
|
|
4630
4653
|
])])
|
|
4631
4654
|
]),
|
|
4632
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
4655
|
+
vue.createElementVNode("div", _hoisted_9$z, [
|
|
4633
4656
|
getMemberLists().length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
4634
4657
|
vue.createElementVNode("div", _hoisted_10$w, [
|
|
4635
4658
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getMemberLists(), (list, index2) => {
|
|
@@ -4722,28 +4745,28 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
4722
4745
|
])
|
|
4723
4746
|
])
|
|
4724
4747
|
])) : vue.createCommentVNode("", true)
|
|
4725
|
-
], 8, _hoisted_1$
|
|
4748
|
+
], 8, _hoisted_1$L)) : vue.createCommentVNode("", true);
|
|
4726
4749
|
};
|
|
4727
4750
|
}
|
|
4728
4751
|
});
|
|
4729
|
-
const _hoisted_1$
|
|
4730
|
-
const _hoisted_2$
|
|
4731
|
-
const _hoisted_3$
|
|
4732
|
-
const _hoisted_4$
|
|
4733
|
-
const _hoisted_5$
|
|
4752
|
+
const _hoisted_1$K = { class: "propeller-address-card" };
|
|
4753
|
+
const _hoisted_2$J = ["data-default", "data-type"];
|
|
4754
|
+
const _hoisted_3$J = { class: "propeller-address-card__body flex-grow" };
|
|
4755
|
+
const _hoisted_4$F = { class: "propeller-address-card__type-badge inline-block rounded bg-secondary px-2 py-0.5 text-xs font-medium text-secondary-foreground mb-2" };
|
|
4756
|
+
const _hoisted_5$E = {
|
|
4734
4757
|
key: 1,
|
|
4735
4758
|
class: "propeller-address-card__company font-bold text-lg mb-1"
|
|
4736
4759
|
};
|
|
4737
|
-
const _hoisted_6$
|
|
4738
|
-
const _hoisted_7$
|
|
4760
|
+
const _hoisted_6$D = { class: "propeller-address-card__name font-medium mb-1" };
|
|
4761
|
+
const _hoisted_7$D = {
|
|
4739
4762
|
key: 0,
|
|
4740
4763
|
class: "propeller-address-card__street text-muted-foreground"
|
|
4741
4764
|
};
|
|
4742
|
-
const _hoisted_8$
|
|
4765
|
+
const _hoisted_8$z = {
|
|
4743
4766
|
key: 1,
|
|
4744
4767
|
class: "propeller-address-card__city text-muted-foreground"
|
|
4745
4768
|
};
|
|
4746
|
-
const _hoisted_9$
|
|
4769
|
+
const _hoisted_9$y = { class: "propeller-address-card__country text-muted-foreground" };
|
|
4747
4770
|
const _hoisted_10$v = {
|
|
4748
4771
|
key: 4,
|
|
4749
4772
|
class: "propeller-address-card__email text-muted-foreground"
|
|
@@ -4769,17 +4792,17 @@ const _hoisted_19$k = { class: "block text-sm font-medium mb-1" };
|
|
|
4769
4792
|
const _hoisted_20$i = ["value"];
|
|
4770
4793
|
const _hoisted_21$h = { value: "M" };
|
|
4771
4794
|
const _hoisted_22$h = { value: "F" };
|
|
4772
|
-
const _hoisted_23$
|
|
4773
|
-
const _hoisted_24$
|
|
4774
|
-
const _hoisted_25$
|
|
4775
|
-
const _hoisted_26$
|
|
4776
|
-
const _hoisted_27$
|
|
4795
|
+
const _hoisted_23$h = { value: "U" };
|
|
4796
|
+
const _hoisted_24$g = { class: "block text-sm font-medium mb-1" };
|
|
4797
|
+
const _hoisted_25$g = ["value"];
|
|
4798
|
+
const _hoisted_26$g = { class: "grid grid-cols-3 gap-4" };
|
|
4799
|
+
const _hoisted_27$g = { class: "block text-sm font-medium mb-1" };
|
|
4777
4800
|
const _hoisted_28$f = ["value"];
|
|
4778
|
-
const _hoisted_29$
|
|
4779
|
-
const _hoisted_30$
|
|
4780
|
-
const _hoisted_31$
|
|
4781
|
-
const _hoisted_32$
|
|
4782
|
-
const _hoisted_33$
|
|
4801
|
+
const _hoisted_29$f = { class: "block text-sm font-medium mb-1" };
|
|
4802
|
+
const _hoisted_30$f = ["value"];
|
|
4803
|
+
const _hoisted_31$f = { class: "block text-sm font-medium mb-1" };
|
|
4804
|
+
const _hoisted_32$e = ["value"];
|
|
4805
|
+
const _hoisted_33$d = { class: "grid grid-cols-12 gap-4" };
|
|
4783
4806
|
const _hoisted_34$b = { class: "col-span-8" };
|
|
4784
4807
|
const _hoisted_35$b = { class: "block text-sm font-medium mb-1" };
|
|
4785
4808
|
const _hoisted_36$b = ["value"];
|
|
@@ -4883,7 +4906,7 @@ const _hoisted_115$1 = { class: "propeller-address-card__delete-modal-content bg
|
|
|
4883
4906
|
const _hoisted_116$1 = { class: "text-xl font-bold mb-4" };
|
|
4884
4907
|
const _hoisted_117$1 = { class: "propeller-address-card__delete-message mb-6 text-muted-foreground" };
|
|
4885
4908
|
const _hoisted_118$1 = { class: "flex justify-end gap-4" };
|
|
4886
|
-
const _sfc_main$
|
|
4909
|
+
const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
4887
4910
|
__name: "AddressCard",
|
|
4888
4911
|
props: {
|
|
4889
4912
|
graphqlClient: {},
|
|
@@ -5059,23 +5082,23 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5059
5082
|
}
|
|
5060
5083
|
}
|
|
5061
5084
|
return (_ctx, _cache) => {
|
|
5062
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
5085
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
|
|
5063
5086
|
showCard.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
5064
5087
|
key: 0,
|
|
5065
5088
|
class: "propeller-address-card__card bg-card p-4 rounded-[var(--radius-container)] shadow-sm border border-border h-full flex flex-col",
|
|
5066
5089
|
"data-default": addr.value?.isDefault === "Y" ? "true" : "false",
|
|
5067
5090
|
"data-type": addr.value?.type || ""
|
|
5068
5091
|
}, [
|
|
5069
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
5092
|
+
vue.createElementVNode("div", _hoisted_3$J, [
|
|
5070
5093
|
__props.addressType ? vue.renderSlot(_ctx.$slots, "typeBadge", {
|
|
5071
5094
|
key: 0,
|
|
5072
5095
|
address: addr.value,
|
|
5073
5096
|
addressType: __props.addressType,
|
|
5074
5097
|
addressTypeLabel: getLabel("addressType:" + __props.addressType, __props.addressType)
|
|
5075
5098
|
}, () => [
|
|
5076
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
5099
|
+
vue.createElementVNode("span", _hoisted_4$F, vue.toDisplayString(getLabel("addressType:" + __props.addressType, __props.addressType)), 1)
|
|
5077
5100
|
]) : vue.createCommentVNode("", true),
|
|
5078
|
-
__props.showCompanyName !== false && addr.value?.company ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
5101
|
+
__props.showCompanyName !== false && addr.value?.company ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$E, vue.toDisplayString(addr.value?.company), 1)) : vue.createCommentVNode("", true),
|
|
5079
5102
|
__props.showFullName !== false && (addr.value?.firstName || addr.value?.lastName) ? vue.renderSlot(_ctx.$slots, "name", {
|
|
5080
5103
|
key: 2,
|
|
5081
5104
|
address: addr.value,
|
|
@@ -5087,7 +5110,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5087
5110
|
].filter(Boolean).join(" "),
|
|
5088
5111
|
salutation: addr.value?.gender
|
|
5089
5112
|
}, () => [
|
|
5090
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
5113
|
+
vue.createElementVNode("div", _hoisted_6$D, vue.toDisplayString([
|
|
5091
5114
|
props.showSalutation !== false ? addr.value?.gender === "M" ? "Mr." : addr.value?.gender === "F" ? "Mrs." : null : null,
|
|
5092
5115
|
addr.value?.firstName,
|
|
5093
5116
|
addr.value?.middleName,
|
|
@@ -5106,12 +5129,12 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5106
5129
|
__props.showCity !== false ? addr.value?.city : null
|
|
5107
5130
|
].filter(Boolean).join(" ")
|
|
5108
5131
|
}, () => [
|
|
5109
|
-
__props.showStreet !== false && addr.value?.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$
|
|
5132
|
+
__props.showStreet !== false && addr.value?.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$D, vue.toDisplayString([
|
|
5110
5133
|
addr.value?.street,
|
|
5111
5134
|
__props.showNumberExtension !== false ? addr.value?.number : null,
|
|
5112
5135
|
__props.showNumberExtension !== false ? addr.value?.numberExtension : null
|
|
5113
5136
|
].filter(Boolean).join(" ")), 1)) : vue.createCommentVNode("", true),
|
|
5114
|
-
__props.showPostalCode !== false && addr.value?.postalCode || __props.showCity !== false && addr.value?.city ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
5137
|
+
__props.showPostalCode !== false && addr.value?.postalCode || __props.showCity !== false && addr.value?.city ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$z, vue.toDisplayString([
|
|
5115
5138
|
__props.showPostalCode !== false ? addr.value?.postalCode : null,
|
|
5116
5139
|
__props.showCity !== false ? addr.value?.city : null
|
|
5117
5140
|
].filter(Boolean).join(" ")), 1)) : vue.createCommentVNode("", true)
|
|
@@ -5121,7 +5144,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5121
5144
|
address: addr.value,
|
|
5122
5145
|
countryName: getCountryName(addr.value?.country)
|
|
5123
5146
|
}, () => [
|
|
5124
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
5147
|
+
vue.createElementVNode("div", _hoisted_9$y, vue.toDisplayString(getCountryName(addr.value?.country)), 1)
|
|
5125
5148
|
]) : vue.createCommentVNode("", true),
|
|
5126
5149
|
!!__props.showEmail && addr.value?.email ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$v, vue.toDisplayString(addr.value?.email), 1)) : vue.createCommentVNode("", true),
|
|
5127
5150
|
!!__props.showPhone && addr.value?.phone ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$r, vue.toDisplayString(addr.value?.phone), 1)) : vue.createCommentVNode("", true),
|
|
@@ -5166,7 +5189,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5166
5189
|
}, vue.toDisplayString(getLabel("setDefault", "Set Default")), 1)) : vue.createCommentVNode("", true)
|
|
5167
5190
|
])
|
|
5168
5191
|
]) : vue.createCommentVNode("", true)
|
|
5169
|
-
], 8, _hoisted_2$
|
|
5192
|
+
], 8, _hoisted_2$J)) : vue.createCommentVNode("", true),
|
|
5170
5193
|
__props.inline && showEditModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$o, [
|
|
5171
5194
|
vue.createElementVNode("form", {
|
|
5172
5195
|
onSubmit: _cache[19] || (_cache[19] = async (e) => handleSaveEdit(e))
|
|
@@ -5185,11 +5208,11 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5185
5208
|
}, [
|
|
5186
5209
|
vue.createElementVNode("option", _hoisted_21$h, vue.toDisplayString(getLabel("genderMale", "Male")), 1),
|
|
5187
5210
|
vue.createElementVNode("option", _hoisted_22$h, vue.toDisplayString(getLabel("genderFemale", "Female")), 1),
|
|
5188
|
-
vue.createElementVNode("option", _hoisted_23$
|
|
5211
|
+
vue.createElementVNode("option", _hoisted_23$h, vue.toDisplayString(getLabel("genderOther", "Other")), 1)
|
|
5189
5212
|
], 40, _hoisted_20$i)
|
|
5190
5213
|
]),
|
|
5191
5214
|
vue.createElementVNode("div", null, [
|
|
5192
|
-
vue.createElementVNode("label", _hoisted_24$
|
|
5215
|
+
vue.createElementVNode("label", _hoisted_24$g, vue.toDisplayString(getLabel("company", "Company")), 1),
|
|
5193
5216
|
vue.createElementVNode("input", {
|
|
5194
5217
|
type: "text",
|
|
5195
5218
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -5197,12 +5220,12 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5197
5220
|
onChange: _cache[4] || (_cache[4] = async (e) => {
|
|
5198
5221
|
editCompany.value = e.target.value;
|
|
5199
5222
|
})
|
|
5200
|
-
}, null, 40, _hoisted_25$
|
|
5223
|
+
}, null, 40, _hoisted_25$g)
|
|
5201
5224
|
])
|
|
5202
5225
|
]),
|
|
5203
|
-
vue.createElementVNode("div", _hoisted_26$
|
|
5226
|
+
vue.createElementVNode("div", _hoisted_26$g, [
|
|
5204
5227
|
vue.createElementVNode("div", null, [
|
|
5205
|
-
vue.createElementVNode("label", _hoisted_27$
|
|
5228
|
+
vue.createElementVNode("label", _hoisted_27$g, vue.toDisplayString(getLabel("firstName", "First Name")) + " *", 1),
|
|
5206
5229
|
vue.createElementVNode("input", {
|
|
5207
5230
|
type: "text",
|
|
5208
5231
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -5214,7 +5237,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5214
5237
|
}, null, 40, _hoisted_28$f)
|
|
5215
5238
|
]),
|
|
5216
5239
|
vue.createElementVNode("div", null, [
|
|
5217
|
-
vue.createElementVNode("label", _hoisted_29$
|
|
5240
|
+
vue.createElementVNode("label", _hoisted_29$f, vue.toDisplayString(getLabel("middleName", "Middle Name")), 1),
|
|
5218
5241
|
vue.createElementVNode("input", {
|
|
5219
5242
|
type: "text",
|
|
5220
5243
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -5222,10 +5245,10 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5222
5245
|
onChange: _cache[6] || (_cache[6] = async (e) => {
|
|
5223
5246
|
editMiddleName.value = e.target.value;
|
|
5224
5247
|
})
|
|
5225
|
-
}, null, 40, _hoisted_30$
|
|
5248
|
+
}, null, 40, _hoisted_30$f)
|
|
5226
5249
|
]),
|
|
5227
5250
|
vue.createElementVNode("div", null, [
|
|
5228
|
-
vue.createElementVNode("label", _hoisted_31$
|
|
5251
|
+
vue.createElementVNode("label", _hoisted_31$f, vue.toDisplayString(getLabel("lastName", "Last Name")) + " *", 1),
|
|
5229
5252
|
vue.createElementVNode("input", {
|
|
5230
5253
|
type: "text",
|
|
5231
5254
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -5234,10 +5257,10 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5234
5257
|
editLastName.value = e.target.value;
|
|
5235
5258
|
}),
|
|
5236
5259
|
required: true
|
|
5237
|
-
}, null, 40, _hoisted_32$
|
|
5260
|
+
}, null, 40, _hoisted_32$e)
|
|
5238
5261
|
])
|
|
5239
5262
|
]),
|
|
5240
|
-
vue.createElementVNode("div", _hoisted_33$
|
|
5263
|
+
vue.createElementVNode("div", _hoisted_33$d, [
|
|
5241
5264
|
vue.createElementVNode("div", _hoisted_34$b, [
|
|
5242
5265
|
vue.createElementVNode("label", _hoisted_35$b, vue.toDisplayString(getLabel("street", "Street")) + " *", 1),
|
|
5243
5266
|
vue.createElementVNode("input", {
|
|
@@ -5631,28 +5654,28 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
5631
5654
|
};
|
|
5632
5655
|
}
|
|
5633
5656
|
});
|
|
5634
|
-
const _hoisted_1$
|
|
5657
|
+
const _hoisted_1$J = {
|
|
5635
5658
|
key: 0,
|
|
5636
5659
|
class: "propeller-address-selector__modal fixed inset-0 bg-black/50 flex items-start justify-center z-50 overflow-y-auto py-10"
|
|
5637
5660
|
};
|
|
5638
|
-
const _hoisted_2$
|
|
5639
|
-
const _hoisted_3$
|
|
5640
|
-
const _hoisted_4$
|
|
5641
|
-
const _hoisted_5$
|
|
5661
|
+
const _hoisted_2$I = { class: "propeller-address-selector__modal-content bg-card p-6 rounded-[var(--radius-container)] max-w-2xl w-full mx-4 shadow-xl" };
|
|
5662
|
+
const _hoisted_3$I = { class: "propeller-address-selector__modal-header flex justify-between items-center mb-6" };
|
|
5663
|
+
const _hoisted_4$E = { class: "propeller-address-selector__modal-title text-xl font-bold" };
|
|
5664
|
+
const _hoisted_5$D = {
|
|
5642
5665
|
key: 0,
|
|
5643
5666
|
class: "propeller-address-selector__empty text-muted-foreground italic"
|
|
5644
5667
|
};
|
|
5645
|
-
const _hoisted_6$
|
|
5646
|
-
const _hoisted_7$
|
|
5647
|
-
const _hoisted_8$
|
|
5648
|
-
const _hoisted_9$
|
|
5668
|
+
const _hoisted_6$C = { class: "propeller-address-selector__list grid grid-cols-2 gap-4" };
|
|
5669
|
+
const _hoisted_7$C = ["onClick", "data-selected"];
|
|
5670
|
+
const _hoisted_8$y = { class: "propeller-address-selector__modal-actions flex justify-end mt-6 pt-4 border-t border-border-subtle" };
|
|
5671
|
+
const _hoisted_9$x = ["disabled"];
|
|
5649
5672
|
const _hoisted_10$u = {
|
|
5650
5673
|
key: 0,
|
|
5651
5674
|
fill: "none",
|
|
5652
5675
|
viewBox: "0 0 24 24",
|
|
5653
5676
|
class: "w-4 h-4 animate-spin"
|
|
5654
5677
|
};
|
|
5655
|
-
const _sfc_main$
|
|
5678
|
+
const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
5656
5679
|
__name: "AddressSelector",
|
|
5657
5680
|
props: {
|
|
5658
5681
|
user: {},
|
|
@@ -5669,7 +5692,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
5669
5692
|
const showModal = vue.ref(false);
|
|
5670
5693
|
const selectedAddress = vue.ref(null);
|
|
5671
5694
|
const isLoading = vue.ref(false);
|
|
5672
|
-
const AddressCardImpl = vue.computed(() => props.addressCardComponent ?? _sfc_main$
|
|
5695
|
+
const AddressCardImpl = vue.computed(() => props.addressCardComponent ?? _sfc_main$P);
|
|
5673
5696
|
function getLabel(key, fallback) {
|
|
5674
5697
|
return index.getLabel(props.labels, key, fallback);
|
|
5675
5698
|
}
|
|
@@ -5751,10 +5774,10 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
5751
5774
|
], -1)),
|
|
5752
5775
|
vue.createTextVNode(vue.toDisplayString(getLabel("chooseAddress", "Choose address")), 1)
|
|
5753
5776
|
]),
|
|
5754
|
-
showModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
5755
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
5756
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
5757
|
-
vue.createElementVNode("h3", _hoisted_4$
|
|
5777
|
+
showModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
|
|
5778
|
+
vue.createElementVNode("div", _hoisted_2$I, [
|
|
5779
|
+
vue.createElementVNode("div", _hoisted_3$I, [
|
|
5780
|
+
vue.createElementVNode("h3", _hoisted_4$E, vue.toDisplayString(getLabel("modalTitle", "Choose an address")), 1),
|
|
5758
5781
|
vue.createElementVNode("button", {
|
|
5759
5782
|
type: "button",
|
|
5760
5783
|
class: "propeller-address-selector__modal-close text-muted-foreground hover:text-muted-foreground text-xl leading-none",
|
|
@@ -5763,9 +5786,9 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
5763
5786
|
})
|
|
5764
5787
|
}, " × ")
|
|
5765
5788
|
]),
|
|
5766
|
-
getAddresses().length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$
|
|
5789
|
+
getAddresses().length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$D, vue.toDisplayString(getLabel("noAddresses", "No addresses found.")), 1)) : vue.createCommentVNode("", true),
|
|
5767
5790
|
getAddresses().length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
5768
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
5791
|
+
vue.createElementVNode("div", _hoisted_6$C, [
|
|
5769
5792
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAddresses(), (address, index2) => {
|
|
5770
5793
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
5771
5794
|
key: address.id,
|
|
@@ -5784,10 +5807,10 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
5784
5807
|
showCountry: true,
|
|
5785
5808
|
showNumberExtension: true
|
|
5786
5809
|
}, null, 8, ["address", "countries"]))
|
|
5787
|
-
], 10, _hoisted_7$
|
|
5810
|
+
], 10, _hoisted_7$C);
|
|
5788
5811
|
}), 128))
|
|
5789
5812
|
]),
|
|
5790
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
5813
|
+
vue.createElementVNode("div", _hoisted_8$y, [
|
|
5791
5814
|
vue.createElementVNode("button", {
|
|
5792
5815
|
type: "button",
|
|
5793
5816
|
class: "propeller-address-selector__confirm-btn inline-flex items-center gap-2 px-5 py-2.5 bg-primary text-primary-foreground rounded-[var(--radius-control)] text-sm font-medium hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
|
|
@@ -5814,7 +5837,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
5814
5837
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
5815
5838
|
vue.createTextVNode(vue.toDisplayString(getLabel("useThisAddress", "Use this address")), 1)
|
|
5816
5839
|
], 64))
|
|
5817
|
-
], 8, _hoisted_9$
|
|
5840
|
+
], 8, _hoisted_9$x)
|
|
5818
5841
|
])
|
|
5819
5842
|
], 64)) : vue.createCommentVNode("", true)
|
|
5820
5843
|
])
|
|
@@ -5823,11 +5846,11 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
5823
5846
|
};
|
|
5824
5847
|
}
|
|
5825
5848
|
});
|
|
5826
|
-
const _hoisted_1$
|
|
5827
|
-
const _hoisted_2$
|
|
5828
|
-
const _hoisted_3$
|
|
5829
|
-
const _hoisted_4$
|
|
5830
|
-
const _hoisted_5$
|
|
5849
|
+
const _hoisted_1$I = { class: "propeller-cart-bonus-items__title text-lg font-semibold mb-3" };
|
|
5850
|
+
const _hoisted_2$H = { class: "propeller-cart-bonus-items__list space-y-4" };
|
|
5851
|
+
const _hoisted_3$H = { class: "propeller-cart-bonus-item__media w-20 h-20 flex-shrink-0 bg-surface-hover rounded-[var(--radius-control)] overflow-hidden flex items-center justify-center" };
|
|
5852
|
+
const _hoisted_4$D = ["src", "alt"];
|
|
5853
|
+
const _hoisted_5$C = {
|
|
5831
5854
|
key: 1,
|
|
5832
5855
|
fill: "none",
|
|
5833
5856
|
viewBox: "0 0 24 24",
|
|
@@ -5835,15 +5858,15 @@ const _hoisted_5$B = {
|
|
|
5835
5858
|
class: "propeller-cart-bonus-item__image-placeholder w-8 h-8 text-foreground-subtle",
|
|
5836
5859
|
strokeWidth: 1.5
|
|
5837
5860
|
};
|
|
5838
|
-
const _hoisted_6$
|
|
5839
|
-
const _hoisted_7$
|
|
5861
|
+
const _hoisted_6$B = { class: "propeller-cart-bonus-item__body flex-1 min-w-0" };
|
|
5862
|
+
const _hoisted_7$B = {
|
|
5840
5863
|
key: 0,
|
|
5841
5864
|
class: "propeller-cart-bonus-item__sku font-mono text-xs text-foreground-subtle"
|
|
5842
5865
|
};
|
|
5843
|
-
const _hoisted_8$
|
|
5844
|
-
const _hoisted_9$
|
|
5866
|
+
const _hoisted_8$x = { class: "propeller-cart-bonus-item__title font-semibold text-sm md:text-base text-foreground line-clamp-2" };
|
|
5867
|
+
const _hoisted_9$w = { class: "propeller-cart-bonus-item__qty text-sm text-muted-foreground whitespace-nowrap" };
|
|
5845
5868
|
const _hoisted_10$t = { class: "propeller-cart-bonus-item__price font-semibold text-foreground whitespace-nowrap" };
|
|
5846
|
-
const _sfc_main$
|
|
5869
|
+
const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
5847
5870
|
__name: "CartBonusItems",
|
|
5848
5871
|
props: {
|
|
5849
5872
|
cart: { default: null },
|
|
@@ -5878,20 +5901,20 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
5878
5901
|
key: 0,
|
|
5879
5902
|
class: vue.normalizeClass(`propeller-cart-bonus-items ${__props.className || "mt-2"}`)
|
|
5880
5903
|
}, [
|
|
5881
|
-
vue.createElementVNode("h2", _hoisted_1$
|
|
5882
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
5904
|
+
vue.createElementVNode("h2", _hoisted_1$I, vue.toDisplayString(getLabel("title", "Bonus items")), 1),
|
|
5905
|
+
vue.createElementVNode("div", _hoisted_2$H, [
|
|
5883
5906
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(bonusItems.value, (item) => {
|
|
5884
5907
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
5885
5908
|
key: item.itemId,
|
|
5886
5909
|
class: "propeller-cart-bonus-item flex items-center gap-4 bg-card p-4 rounded-[var(--radius-container)] shadow-sm border border-border"
|
|
5887
5910
|
}, [
|
|
5888
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
5911
|
+
vue.createElementVNode("div", _hoisted_3$H, [
|
|
5889
5912
|
getItemImageUrl(item) ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
5890
5913
|
key: 0,
|
|
5891
5914
|
class: "propeller-cart-bonus-item__image w-full h-full object-contain p-1",
|
|
5892
5915
|
src: getItemImageUrl(item),
|
|
5893
5916
|
alt: getItemName(item)
|
|
5894
|
-
}, null, 8, _hoisted_4$
|
|
5917
|
+
}, null, 8, _hoisted_4$D)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_5$C, [..._cache[0] || (_cache[0] = [
|
|
5895
5918
|
vue.createElementVNode("path", {
|
|
5896
5919
|
strokeLinecap: "round",
|
|
5897
5920
|
strokeLinejoin: "round",
|
|
@@ -5899,11 +5922,11 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
5899
5922
|
}, null, -1)
|
|
5900
5923
|
])]))
|
|
5901
5924
|
]),
|
|
5902
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
5903
|
-
item.product?.sku ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$
|
|
5904
|
-
vue.createElementVNode("p", _hoisted_8$
|
|
5925
|
+
vue.createElementVNode("div", _hoisted_6$B, [
|
|
5926
|
+
item.product?.sku ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$B, vue.toDisplayString(getLabel("sku", "SKU")) + ": " + vue.toDisplayString(item.product.sku), 1)) : vue.createCommentVNode("", true),
|
|
5927
|
+
vue.createElementVNode("p", _hoisted_8$x, vue.toDisplayString(getItemName(item)), 1)
|
|
5905
5928
|
]),
|
|
5906
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
5929
|
+
vue.createElementVNode("div", _hoisted_9$w, vue.toDisplayString(item.quantity) + " × ", 1),
|
|
5907
5930
|
vue.createElementVNode("div", _hoisted_10$t, vue.toDisplayString(getItemTotal(item)), 1)
|
|
5908
5931
|
]);
|
|
5909
5932
|
}), 128))
|
|
@@ -5912,28 +5935,28 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
5912
5935
|
};
|
|
5913
5936
|
}
|
|
5914
5937
|
});
|
|
5915
|
-
const _hoisted_1$
|
|
5938
|
+
const _hoisted_1$H = {
|
|
5916
5939
|
key: 0,
|
|
5917
5940
|
class: "propeller-cart-carriers__grid grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3"
|
|
5918
5941
|
};
|
|
5919
|
-
const _hoisted_2$
|
|
5920
|
-
const _hoisted_3$
|
|
5921
|
-
const _hoisted_4$
|
|
5922
|
-
const _hoisted_5$
|
|
5923
|
-
const _hoisted_6$
|
|
5924
|
-
const _hoisted_7$
|
|
5942
|
+
const _hoisted_2$G = ["onClick", "data-selected"];
|
|
5943
|
+
const _hoisted_3$G = { class: "propeller-cart-carriers__carrier-row flex justify-between items-center" };
|
|
5944
|
+
const _hoisted_4$C = { class: "flex items-center gap-2" };
|
|
5945
|
+
const _hoisted_5$B = ["src", "alt"];
|
|
5946
|
+
const _hoisted_6$A = { class: "propeller-cart-carriers__carrier-name font-medium" };
|
|
5947
|
+
const _hoisted_7$A = {
|
|
5925
5948
|
key: 0,
|
|
5926
5949
|
class: "propeller-cart-carriers__carrier-price text-xs bg-surface-hover text-muted-foreground px-2 py-1 rounded-full"
|
|
5927
5950
|
};
|
|
5928
|
-
const _hoisted_8$
|
|
5951
|
+
const _hoisted_8$w = {
|
|
5929
5952
|
key: 0,
|
|
5930
5953
|
class: "propeller-cart-carriers__carrier-deadline text-xs text-muted-foreground"
|
|
5931
5954
|
};
|
|
5932
|
-
const _hoisted_9$
|
|
5955
|
+
const _hoisted_9$v = {
|
|
5933
5956
|
key: 1,
|
|
5934
5957
|
class: "propeller-cart-carriers__empty text-muted-foreground italic"
|
|
5935
5958
|
};
|
|
5936
|
-
const _sfc_main$
|
|
5959
|
+
const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
5937
5960
|
__name: "CartCarriers",
|
|
5938
5961
|
props: {
|
|
5939
5962
|
cart: {},
|
|
@@ -5995,7 +6018,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
5995
6018
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
5996
6019
|
class: vue.normalizeClass(`propeller-cart-carriers ${containerClass.value}`)
|
|
5997
6020
|
}, [
|
|
5998
|
-
carriers.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
6021
|
+
carriers.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
|
|
5999
6022
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(carriers.value, (carrier, index2) => {
|
|
6000
6023
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
6001
6024
|
key: `${carrier.name}-${index2}`,
|
|
@@ -6003,28 +6026,28 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
6003
6026
|
"data-selected": selectedName.value === carrier.name ? "true" : "false",
|
|
6004
6027
|
class: vue.normalizeClass(`propeller-cart-carriers__carrier cursor-pointer border border-border rounded-[var(--radius-container)] p-4 flex flex-col gap-2 transition-all ${selectedName.value === carrier.name ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
|
|
6005
6028
|
}, [
|
|
6006
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
6007
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
6029
|
+
vue.createElementVNode("div", _hoisted_3$G, [
|
|
6030
|
+
vue.createElementVNode("div", _hoisted_4$C, [
|
|
6008
6031
|
showLogo.value && getLogoUrl(carrier) ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
6009
6032
|
key: 0,
|
|
6010
6033
|
class: "propeller-cart-carriers__carrier-logo h-6 w-auto",
|
|
6011
6034
|
src: getLogoUrl(carrier),
|
|
6012
6035
|
alt: carrier.name
|
|
6013
|
-
}, null, 8, _hoisted_5$
|
|
6014
|
-
vue.createElementVNode("span", _hoisted_6$
|
|
6036
|
+
}, null, 8, _hoisted_5$B)) : vue.createCommentVNode("", true),
|
|
6037
|
+
vue.createElementVNode("span", _hoisted_6$A, vue.toDisplayString(carrier.name), 1)
|
|
6015
6038
|
]),
|
|
6016
|
-
__props.showPrice !== false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$
|
|
6039
|
+
__props.showPrice !== false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$A, vue.toDisplayString(formatCarrierPrice(carrier.price)), 1)) : vue.createCommentVNode("", true)
|
|
6017
6040
|
]),
|
|
6018
|
-
carrier.deliveryDeadline ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$
|
|
6019
|
-
], 10, _hoisted_2$
|
|
6041
|
+
carrier.deliveryDeadline ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$w, vue.toDisplayString(getLabel("deliveryDeadline", "Delivery deadline:")) + vue.toDisplayString(carrier.deliveryDeadline), 1)) : vue.createCommentVNode("", true)
|
|
6042
|
+
], 10, _hoisted_2$G);
|
|
6020
6043
|
}), 128))
|
|
6021
6044
|
])) : vue.createCommentVNode("", true),
|
|
6022
|
-
carriers.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$
|
|
6045
|
+
carriers.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$v, vue.toDisplayString(getLabel("noCarriers", "No carriers available.")), 1)) : vue.createCommentVNode("", true)
|
|
6023
6046
|
], 2);
|
|
6024
6047
|
};
|
|
6025
6048
|
}
|
|
6026
6049
|
});
|
|
6027
|
-
const _sfc_main$
|
|
6050
|
+
const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
6028
6051
|
__name: "DefaultProductSurcharges",
|
|
6029
6052
|
props: {
|
|
6030
6053
|
product: {},
|
|
@@ -6060,10 +6083,10 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
6060
6083
|
};
|
|
6061
6084
|
}
|
|
6062
6085
|
});
|
|
6063
|
-
const _hoisted_1$
|
|
6064
|
-
const _hoisted_2$
|
|
6065
|
-
const _hoisted_3$
|
|
6066
|
-
const _hoisted_4$
|
|
6086
|
+
const _hoisted_1$G = ["data-bundle", "data-loading"];
|
|
6087
|
+
const _hoisted_2$F = { class: "propeller-cart-item__media w-20 h-20 md:w-24 md:h-24 flex-shrink-0 bg-surface-hover flex items-center justify-center overflow-hidden relative" };
|
|
6088
|
+
const _hoisted_3$F = ["src", "alt"];
|
|
6089
|
+
const _hoisted_4$B = {
|
|
6067
6090
|
key: 1,
|
|
6068
6091
|
fill: "none",
|
|
6069
6092
|
viewBox: "0 0 24 24",
|
|
@@ -6071,14 +6094,14 @@ const _hoisted_4$A = {
|
|
|
6071
6094
|
class: "propeller-cart-item__image-placeholder w-8 h-8 text-foreground-subtle",
|
|
6072
6095
|
strokeWidth: 1.5
|
|
6073
6096
|
};
|
|
6074
|
-
const _hoisted_5$
|
|
6075
|
-
const _hoisted_6$
|
|
6076
|
-
const _hoisted_7$
|
|
6097
|
+
const _hoisted_5$A = { class: "propeller-cart-item__body flex-1 min-w-0" };
|
|
6098
|
+
const _hoisted_6$z = { class: "propeller-cart-item__sku font-mono text-xs text-foreground-subtle" };
|
|
6099
|
+
const _hoisted_7$z = {
|
|
6077
6100
|
key: 0,
|
|
6078
6101
|
class: "propeller-cart-item__title font-semibold text-sm md:text-base text-foreground line-clamp-2"
|
|
6079
6102
|
};
|
|
6080
|
-
const _hoisted_8$
|
|
6081
|
-
const _hoisted_9$
|
|
6103
|
+
const _hoisted_8$v = ["href"];
|
|
6104
|
+
const _hoisted_9$u = {
|
|
6082
6105
|
key: 1,
|
|
6083
6106
|
class: "propeller-cart-item__title font-semibold text-sm md:text-base text-foreground line-clamp-2"
|
|
6084
6107
|
};
|
|
@@ -6101,17 +6124,17 @@ const _hoisted_19$j = { class: "font-semibold text-foreground" };
|
|
|
6101
6124
|
const _hoisted_20$h = { class: "propeller-cart-item__options mt-3 space-y-1.5 border-l-2 border-border pl-3" };
|
|
6102
6125
|
const _hoisted_21$g = { class: "propeller-cart-item__options-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1" };
|
|
6103
6126
|
const _hoisted_22$g = { class: "font-medium" };
|
|
6104
|
-
const _hoisted_23$
|
|
6105
|
-
const _hoisted_24$
|
|
6106
|
-
const _hoisted_25$
|
|
6107
|
-
const _hoisted_26$
|
|
6108
|
-
const _hoisted_27$
|
|
6127
|
+
const _hoisted_23$g = { class: "text-foreground-subtle text-xs self-center" };
|
|
6128
|
+
const _hoisted_24$f = { class: "font-semibold text-foreground" };
|
|
6129
|
+
const _hoisted_25$f = { class: "propeller-cart-item__notes mt-3" };
|
|
6130
|
+
const _hoisted_26$f = { class: "propeller-cart-item__notes-label text-xs font-medium text-muted-foreground block mb-1" };
|
|
6131
|
+
const _hoisted_27$f = ["value", "placeholder"];
|
|
6109
6132
|
const _hoisted_28$e = { class: "propeller-cart-item__crossupsells mt-3 pt-3 border-t border-border" };
|
|
6110
|
-
const _hoisted_29$
|
|
6111
|
-
const _hoisted_30$
|
|
6112
|
-
const _hoisted_31$
|
|
6113
|
-
const _hoisted_32$
|
|
6114
|
-
const _hoisted_33$
|
|
6133
|
+
const _hoisted_29$e = { class: "propeller-cart-item__crossupsells-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2" };
|
|
6134
|
+
const _hoisted_30$e = { class: "flex flex-col gap-2" };
|
|
6135
|
+
const _hoisted_31$e = ["href", "onClick"];
|
|
6136
|
+
const _hoisted_32$d = ["src", "alt"];
|
|
6137
|
+
const _hoisted_33$c = { class: "min-w-0" };
|
|
6115
6138
|
const _hoisted_34$a = { class: "propeller-cart-item__crossupsell-title text-xs font-medium text-muted-foreground line-clamp-2" };
|
|
6116
6139
|
const _hoisted_35$a = {
|
|
6117
6140
|
key: 0,
|
|
@@ -6176,7 +6199,7 @@ const _hoisted_51$5 = {
|
|
|
6176
6199
|
strokeLinecap: "round",
|
|
6177
6200
|
strokeLinejoin: "round"
|
|
6178
6201
|
};
|
|
6179
|
-
const _sfc_main$
|
|
6202
|
+
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
6180
6203
|
__name: "CartItem",
|
|
6181
6204
|
props: {
|
|
6182
6205
|
graphqlClient: {},
|
|
@@ -6207,8 +6230,8 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6207
6230
|
priceComponent: {},
|
|
6208
6231
|
stockComponent: {},
|
|
6209
6232
|
surchargesComponent: {},
|
|
6210
|
-
cardFrame: { type: Boolean },
|
|
6211
|
-
showDelete: { type: Boolean },
|
|
6233
|
+
cardFrame: { type: Boolean, default: true },
|
|
6234
|
+
showDelete: { type: Boolean, default: true },
|
|
6212
6235
|
readOnlyQuantity: { type: Boolean },
|
|
6213
6236
|
onTitleClick: {}
|
|
6214
6237
|
},
|
|
@@ -6229,7 +6252,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6229
6252
|
const resolved = vue.computed(() => useResolvedProps(props, RESOLVE_SPEC));
|
|
6230
6253
|
const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
|
|
6231
6254
|
const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
|
|
6232
|
-
const SurchargesImpl = vue.computed(() => resolved.value.surchargesComponent ?? _sfc_main$
|
|
6255
|
+
const SurchargesImpl = vue.computed(() => resolved.value.surchargesComponent ?? _sfc_main$L);
|
|
6233
6256
|
const userRef = vue.computed(() => resolved.value.user ?? null);
|
|
6234
6257
|
const {
|
|
6235
6258
|
loading,
|
|
@@ -6478,14 +6501,14 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6478
6501
|
imageUrl: getProductImageUrl(),
|
|
6479
6502
|
productUrl: getProductUrl()
|
|
6480
6503
|
}, () => [
|
|
6481
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
6504
|
+
vue.createElementVNode("div", _hoisted_2$F, [
|
|
6482
6505
|
!!getProductImageUrl() ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
6483
6506
|
key: 0,
|
|
6484
6507
|
class: "propeller-cart-item__image w-full h-full object-contain p-1",
|
|
6485
6508
|
src: getProductImageUrl(),
|
|
6486
6509
|
alt: getProductName()
|
|
6487
|
-
}, null, 8, _hoisted_3$
|
|
6488
|
-
!getProductImageUrl() ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$
|
|
6510
|
+
}, null, 8, _hoisted_3$F)) : vue.createCommentVNode("", true),
|
|
6511
|
+
!getProductImageUrl() ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$B, [..._cache[7] || (_cache[7] = [
|
|
6489
6512
|
vue.createElementVNode("path", {
|
|
6490
6513
|
strokeLinecap: "round",
|
|
6491
6514
|
strokeLinejoin: "round",
|
|
@@ -6494,13 +6517,13 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6494
6517
|
])])) : vue.createCommentVNode("", true)
|
|
6495
6518
|
])
|
|
6496
6519
|
]),
|
|
6497
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
6520
|
+
vue.createElementVNode("div", _hoisted_5$A, [
|
|
6498
6521
|
!isBundleItem() && __props.showSku !== false && !!getProductSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
6499
6522
|
key: 0,
|
|
6500
6523
|
cartItem: __props.cartItem,
|
|
6501
6524
|
sku: getProductSku()
|
|
6502
6525
|
}, () => [
|
|
6503
|
-
vue.createElementVNode("p", _hoisted_6$
|
|
6526
|
+
vue.createElementVNode("p", _hoisted_6$z, vue.toDisplayString(getProductSku()), 1)
|
|
6504
6527
|
]) : vue.createCommentVNode("", true),
|
|
6505
6528
|
vue.renderSlot(_ctx.$slots, getProductName(), {
|
|
6506
6529
|
cartItem: __props.cartItem,
|
|
@@ -6510,15 +6533,15 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6510
6533
|
linkable: __props.titleLinkable,
|
|
6511
6534
|
handleTitleClick: (e) => __props.onTitleClick?.(e, __props.cartItem)
|
|
6512
6535
|
}, () => [
|
|
6513
|
-
isBundleItem() ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$
|
|
6536
|
+
isBundleItem() ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$z, vue.toDisplayString(getBundleName()), 1)) : vue.createCommentVNode("", true),
|
|
6514
6537
|
!isBundleItem() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
6515
6538
|
__props.titleLinkable !== false ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
6516
6539
|
key: 0,
|
|
6517
6540
|
class: "propeller-cart-item__title font-semibold text-sm md:text-base text-foreground hover:text-foreground transition-colors line-clamp-2",
|
|
6518
6541
|
href: getProductUrl(),
|
|
6519
6542
|
onClick: _cache[0] || (_cache[0] = (e) => __props.onTitleClick?.(e, __props.cartItem))
|
|
6520
|
-
}, vue.toDisplayString(getProductName()), 9, _hoisted_8$
|
|
6521
|
-
__props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9$
|
|
6543
|
+
}, vue.toDisplayString(getProductName()), 9, _hoisted_8$v)) : vue.createCommentVNode("", true),
|
|
6544
|
+
__props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9$u, vue.toDisplayString(getProductName()), 1)) : vue.createCommentVNode("", true)
|
|
6522
6545
|
], 64)) : vue.createCommentVNode("", true)
|
|
6523
6546
|
]),
|
|
6524
6547
|
!isBundleItem() ? vue.renderSlot(_ctx.$slots, "surcharges", {
|
|
@@ -6603,9 +6626,9 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6603
6626
|
}, [
|
|
6604
6627
|
vue.createElementVNode("span", _hoisted_22$g, vue.toDisplayString(child.product.names?.[0]?.value || "Option"), 1),
|
|
6605
6628
|
_cache[10] || (_cache[10] = vue.createElementVNode("span", { class: "text-foreground-subtle hidden sm:inline" }, "-", -1)),
|
|
6606
|
-
vue.createElementVNode("span", _hoisted_23$
|
|
6629
|
+
vue.createElementVNode("span", _hoisted_23$g, vue.toDisplayString(child.product.sku), 1),
|
|
6607
6630
|
_cache[11] || (_cache[11] = vue.createElementVNode("div", { class: "flex-1 border-b border-dotted border-input mx-1 mb-1" }, null, -1)),
|
|
6608
|
-
vue.createElementVNode("span", _hoisted_24$
|
|
6631
|
+
vue.createElementVNode("span", _hoisted_24$f, vue.toDisplayString(getChildItemPrice(child)), 1)
|
|
6609
6632
|
]);
|
|
6610
6633
|
}), 128))
|
|
6611
6634
|
])
|
|
@@ -6616,15 +6639,15 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6616
6639
|
notes: notes.value,
|
|
6617
6640
|
onNoteChange: (value) => handleNoteChange(value)
|
|
6618
6641
|
}, () => [
|
|
6619
|
-
vue.createElementVNode("div", _hoisted_25$
|
|
6620
|
-
vue.createElementVNode("label", _hoisted_26$
|
|
6642
|
+
vue.createElementVNode("div", _hoisted_25$f, [
|
|
6643
|
+
vue.createElementVNode("label", _hoisted_26$f, vue.toDisplayString(getLabel("notes", "Notes")), 1),
|
|
6621
6644
|
vue.createElementVNode("textarea", {
|
|
6622
6645
|
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",
|
|
6623
6646
|
value: notes.value,
|
|
6624
6647
|
onChange: _cache[1] || (_cache[1] = async (e) => handleNoteChange(e.target.value)),
|
|
6625
6648
|
placeholder: getLabel("notesPlaceholder", "Add a note for this item..."),
|
|
6626
6649
|
rows: 2
|
|
6627
|
-
}, null, 40, _hoisted_27$
|
|
6650
|
+
}, null, 40, _hoisted_27$f)
|
|
6628
6651
|
])
|
|
6629
6652
|
]) : vue.createCommentVNode("", true),
|
|
6630
6653
|
getVisibleCrossupsells().length > 0 ? vue.renderSlot(_ctx.$slots, "crossupsells", {
|
|
@@ -6633,8 +6656,8 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6633
6656
|
crossupsells: getVisibleCrossupsells()
|
|
6634
6657
|
}, () => [
|
|
6635
6658
|
vue.createElementVNode("div", _hoisted_28$e, [
|
|
6636
|
-
vue.createElementVNode("p", _hoisted_29$
|
|
6637
|
-
vue.createElementVNode("div", _hoisted_30$
|
|
6659
|
+
vue.createElementVNode("p", _hoisted_29$e, vue.toDisplayString(getLabel("crossupsellTitle", "You might also like")), 1),
|
|
6660
|
+
vue.createElementVNode("div", _hoisted_30$e, [
|
|
6638
6661
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getVisibleCrossupsells(), (item, idx) => {
|
|
6639
6662
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
6640
6663
|
key: idx,
|
|
@@ -6657,12 +6680,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6657
6680
|
class: "propeller-cart-item__crossupsell-image w-10 h-10 object-contain rounded flex-shrink-0",
|
|
6658
6681
|
src: getCrossupsellImageUrl(item),
|
|
6659
6682
|
alt: getCrossupsellName(item)
|
|
6660
|
-
}, null, 8, _hoisted_32$
|
|
6661
|
-
vue.createElementVNode("div", _hoisted_33$
|
|
6683
|
+
}, null, 8, _hoisted_32$d)) : vue.createCommentVNode("", true),
|
|
6684
|
+
vue.createElementVNode("div", _hoisted_33$c, [
|
|
6662
6685
|
vue.createElementVNode("span", _hoisted_34$a, vue.toDisplayString(getCrossupsellName(item)), 1),
|
|
6663
6686
|
!!getCrossupsellPrice(item) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_35$a, vue.toDisplayString(getCrossupsellPrice(item)), 1)) : vue.createCommentVNode("", true)
|
|
6664
6687
|
])
|
|
6665
|
-
], 8, _hoisted_31$
|
|
6688
|
+
], 8, _hoisted_31$e),
|
|
6666
6689
|
vue.createElementVNode("button", {
|
|
6667
6690
|
type: "button",
|
|
6668
6691
|
class: "propeller-cart-item__crossupsell-btn flex-shrink-0 inline-flex items-center justify-center h-7 w-7 rounded-[var(--radius-control)] bg-primary text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50",
|
|
@@ -6791,31 +6814,31 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
6791
6814
|
], 8, _hoisted_49$7)
|
|
6792
6815
|
]) : vue.createCommentVNode("", true)
|
|
6793
6816
|
])
|
|
6794
|
-
], 10, _hoisted_1$
|
|
6817
|
+
], 10, _hoisted_1$G);
|
|
6795
6818
|
};
|
|
6796
6819
|
}
|
|
6797
6820
|
});
|
|
6798
|
-
const _hoisted_1$
|
|
6799
|
-
const _hoisted_2$
|
|
6800
|
-
const _hoisted_3$
|
|
6821
|
+
const _hoisted_1$F = ["data-sidebar-open"];
|
|
6822
|
+
const _hoisted_2$E = ["aria-label"];
|
|
6823
|
+
const _hoisted_3$E = {
|
|
6801
6824
|
fill: "none",
|
|
6802
6825
|
stroke: "currentColor",
|
|
6803
6826
|
viewBox: "0 0 24 24",
|
|
6804
6827
|
class: "propeller-cart-icon__icon w-6 h-6",
|
|
6805
6828
|
strokeWidth: 1.5
|
|
6806
6829
|
};
|
|
6807
|
-
const _hoisted_4$
|
|
6830
|
+
const _hoisted_4$A = {
|
|
6808
6831
|
key: 0,
|
|
6809
6832
|
class: "propeller-cart-icon__badge absolute -top-1 -right-1 h-5 w-5 flex items-center justify-center rounded-full bg-primary text-primary-foreground text-[10px] font-bold pointer-events-none"
|
|
6810
6833
|
};
|
|
6811
|
-
const _hoisted_5$
|
|
6834
|
+
const _hoisted_5$z = {
|
|
6812
6835
|
key: 0,
|
|
6813
6836
|
class: "propeller-cart-icon__popover absolute top-full right-0 mt-1 z-40 bg-card border border-border rounded-[var(--radius-container)] shadow-lg px-3 py-2 min-w-[140px] text-sm whitespace-nowrap"
|
|
6814
6837
|
};
|
|
6815
|
-
const _hoisted_6$
|
|
6816
|
-
const _hoisted_7$
|
|
6817
|
-
const _hoisted_8$
|
|
6818
|
-
const _hoisted_9$
|
|
6838
|
+
const _hoisted_6$y = { class: "flex justify-between gap-4" };
|
|
6839
|
+
const _hoisted_7$y = { class: "propeller-cart-icon__popover-label text-muted-foreground" };
|
|
6840
|
+
const _hoisted_8$u = { class: "propeller-cart-icon__popover-total font-semibold text-foreground" };
|
|
6841
|
+
const _hoisted_9$t = { class: "propeller-cart-icon__popover-count text-xs text-foreground-subtle mt-0.5" };
|
|
6819
6842
|
const _hoisted_10$r = ["aria-label", "data-open"];
|
|
6820
6843
|
const _hoisted_11$p = { class: "flex flex-col h-full" };
|
|
6821
6844
|
const _hoisted_12$p = { class: "propeller-cart-icon__sidebar-header flex items-center justify-between px-5 py-4 border-b border-border" };
|
|
@@ -6850,9 +6873,9 @@ const _hoisted_21$f = {
|
|
|
6850
6873
|
strokeWidth: 1.5
|
|
6851
6874
|
};
|
|
6852
6875
|
const _hoisted_22$f = { class: "propeller-cart-icon__empty-message text-sm text-muted-foreground" };
|
|
6853
|
-
const _hoisted_23$
|
|
6854
|
-
const _hoisted_24$
|
|
6855
|
-
const _hoisted_25$
|
|
6876
|
+
const _hoisted_23$f = { 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" };
|
|
6877
|
+
const _hoisted_24$e = ["src", "alt"];
|
|
6878
|
+
const _hoisted_25$e = {
|
|
6856
6879
|
key: 1,
|
|
6857
6880
|
fill: "none",
|
|
6858
6881
|
viewBox: "0 0 24 24",
|
|
@@ -6860,20 +6883,20 @@ const _hoisted_25$d = {
|
|
|
6860
6883
|
class: "w-8 h-8 text-foreground-subtle",
|
|
6861
6884
|
strokeWidth: 1.5
|
|
6862
6885
|
};
|
|
6863
|
-
const _hoisted_26$
|
|
6886
|
+
const _hoisted_26$e = {
|
|
6864
6887
|
key: 0,
|
|
6865
6888
|
class: "propeller-cart-icon__item-name text-sm font-medium line-clamp-2"
|
|
6866
6889
|
};
|
|
6867
|
-
const _hoisted_27$
|
|
6890
|
+
const _hoisted_27$e = ["href"];
|
|
6868
6891
|
const _hoisted_28$d = {
|
|
6869
6892
|
key: 0,
|
|
6870
6893
|
class: "propeller-cart-icon__sidebar-footer px-5 py-4 border-t border-border space-y-3 bg-surface-hover"
|
|
6871
6894
|
};
|
|
6872
|
-
const _hoisted_29$
|
|
6873
|
-
const _hoisted_30$
|
|
6874
|
-
const _hoisted_31$
|
|
6875
|
-
const _hoisted_32$
|
|
6876
|
-
const _sfc_main$
|
|
6895
|
+
const _hoisted_29$d = { class: "propeller-cart-icon__total-row flex justify-between items-center" };
|
|
6896
|
+
const _hoisted_30$d = { class: "propeller-cart-icon__total-label text-sm font-medium text-muted-foreground" };
|
|
6897
|
+
const _hoisted_31$d = { class: "propeller-cart-icon__total-value text-base font-bold text-foreground" };
|
|
6898
|
+
const _hoisted_32$c = ["disabled"];
|
|
6899
|
+
const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
6877
6900
|
__name: "CartIconAndSidebar",
|
|
6878
6901
|
props: {
|
|
6879
6902
|
cart: {},
|
|
@@ -6924,10 +6947,10 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
6924
6947
|
}
|
|
6925
6948
|
});
|
|
6926
6949
|
const CartItemImpl = vue.computed(
|
|
6927
|
-
() => props.cartItemComponent ?? _sfc_main$
|
|
6950
|
+
() => props.cartItemComponent ?? _sfc_main$K
|
|
6928
6951
|
);
|
|
6929
6952
|
const CartBonusItemsImpl = vue.computed(
|
|
6930
|
-
() => props.cartBonusItemsComponent ?? _sfc_main$
|
|
6953
|
+
() => props.cartBonusItemsComponent ?? _sfc_main$N
|
|
6931
6954
|
);
|
|
6932
6955
|
vue.onMounted(() => {
|
|
6933
6956
|
isMounted.value = true;
|
|
@@ -7047,21 +7070,21 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7047
7070
|
"aria-label": getLabel("cartIconLabel", "Shopping cart"),
|
|
7048
7071
|
class: vue.normalizeClass(`propeller-cart-icon__trigger relative inline-flex items-center justify-center p-2 rounded-[var(--radius-control)] transition-colors text-foreground${__props.iconClassName ? " " + __props.iconClassName : ""}`)
|
|
7049
7072
|
}, [
|
|
7050
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$
|
|
7073
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$E, [..._cache[11] || (_cache[11] = [
|
|
7051
7074
|
vue.createElementVNode("path", {
|
|
7052
7075
|
strokeLinecap: "round",
|
|
7053
7076
|
strokeLinejoin: "round",
|
|
7054
7077
|
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"
|
|
7055
7078
|
}, null, -1)
|
|
7056
7079
|
])])),
|
|
7057
|
-
isMounted.value && __props.showBadge !== false && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
7058
|
-
], 10, _hoisted_2$
|
|
7059
|
-
__props.showTotals && isHovered.value && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
7060
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
7061
|
-
vue.createElementVNode("span", _hoisted_7$
|
|
7062
|
-
vue.createElementVNode("span", _hoisted_8$
|
|
7080
|
+
isMounted.value && __props.showBadge !== false && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$A, vue.toDisplayString(getTotalItems()), 1)) : vue.createCommentVNode("", true)
|
|
7081
|
+
], 10, _hoisted_2$E),
|
|
7082
|
+
__props.showTotals && isHovered.value && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$z, [
|
|
7083
|
+
vue.createElementVNode("div", _hoisted_6$y, [
|
|
7084
|
+
vue.createElementVNode("span", _hoisted_7$y, vue.toDisplayString(getLabel("totalLabel", "Total")), 1),
|
|
7085
|
+
vue.createElementVNode("span", _hoisted_8$u, vue.toDisplayString(getTotalPrice()), 1)
|
|
7063
7086
|
]),
|
|
7064
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
7087
|
+
vue.createElementVNode("div", _hoisted_9$t, vue.toDisplayString(getTotalItems()) + vue.toDisplayString(getLabel("itemsLabel", "item(s)")), 1)
|
|
7065
7088
|
])) : vue.createCommentVNode("", true)
|
|
7066
7089
|
], 32),
|
|
7067
7090
|
sidebarOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -7143,14 +7166,14 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7143
7166
|
className: "propeller-cart-icon__item"
|
|
7144
7167
|
}, {
|
|
7145
7168
|
image: vue.withCtx(({ cartItem: rowCartItem }) => [
|
|
7146
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
7169
|
+
vue.createElementVNode("div", _hoisted_23$f, [
|
|
7147
7170
|
!!rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
7148
7171
|
key: 0,
|
|
7149
7172
|
class: "propeller-cart-icon__item-image w-full h-full object-contain p-2",
|
|
7150
7173
|
src: rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url,
|
|
7151
7174
|
alt: rowCartItem.product?.names?.[0]?.value || "Product"
|
|
7152
|
-
}, null, 8, _hoisted_24$
|
|
7153
|
-
!rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_25$
|
|
7175
|
+
}, null, 8, _hoisted_24$e)) : vue.createCommentVNode("", true),
|
|
7176
|
+
!rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_25$e, [..._cache[15] || (_cache[15] = [
|
|
7154
7177
|
vue.createElementVNode("path", {
|
|
7155
7178
|
strokeLinecap: "round",
|
|
7156
7179
|
strokeLinejoin: "round",
|
|
@@ -7160,13 +7183,13 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7160
7183
|
])
|
|
7161
7184
|
]),
|
|
7162
7185
|
title: vue.withCtx(({ isBundle, name, bundleName, productUrl }) => [
|
|
7163
|
-
isBundle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$
|
|
7186
|
+
isBundle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$e, vue.toDisplayString(bundleName), 1)) : vue.createCommentVNode("", true),
|
|
7164
7187
|
!isBundle ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
7165
7188
|
key: 1,
|
|
7166
7189
|
class: "propeller-cart-icon__item-name text-sm font-medium hover:text-primary line-clamp-2",
|
|
7167
7190
|
href: productUrl,
|
|
7168
7191
|
onClick: _cache[6] || (_cache[6] = (_e) => closeSidebar())
|
|
7169
|
-
}, vue.toDisplayString(name), 9, _hoisted_27$
|
|
7192
|
+
}, vue.toDisplayString(name), 9, _hoisted_27$e)) : vue.createCommentVNode("", true)
|
|
7170
7193
|
]),
|
|
7171
7194
|
_: 1
|
|
7172
7195
|
}, 40, ["cartItem", "cartId", "graphqlClient", "user", "language", "configuration", "companyId", "onTitleClick"]);
|
|
@@ -7178,9 +7201,9 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7178
7201
|
}, null, 8, ["cart"]))
|
|
7179
7202
|
]),
|
|
7180
7203
|
getItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$d, [
|
|
7181
|
-
vue.createElementVNode("div", _hoisted_29$
|
|
7182
|
-
vue.createElementVNode("span", _hoisted_30$
|
|
7183
|
-
vue.createElementVNode("span", _hoisted_31$
|
|
7204
|
+
vue.createElementVNode("div", _hoisted_29$d, [
|
|
7205
|
+
vue.createElementVNode("span", _hoisted_30$d, vue.toDisplayString(getLabel("total", "Total")), 1),
|
|
7206
|
+
vue.createElementVNode("span", _hoisted_31$d, vue.toDisplayString(getTotalPrice()), 1)
|
|
7184
7207
|
]),
|
|
7185
7208
|
showCheckoutButton() && !showRequestAuthorizationButton() ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
7186
7209
|
key: 0,
|
|
@@ -7204,7 +7227,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7204
7227
|
"Request Authorization"
|
|
7205
7228
|
)), 1)
|
|
7206
7229
|
], 64)) : vue.createCommentVNode("", true)
|
|
7207
|
-
], 8, _hoisted_32$
|
|
7230
|
+
], 8, _hoisted_32$c)) : vue.createCommentVNode("", true),
|
|
7208
7231
|
!showRequestAuthorizationButton() && !!__props.onRequestQuoteClick && !!__props.user && "contactId" in __props.user ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
7209
7232
|
key: 2,
|
|
7210
7233
|
type: "button",
|
|
@@ -7224,34 +7247,34 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7224
7247
|
], 64)) : vue.createCommentVNode("", true)
|
|
7225
7248
|
])
|
|
7226
7249
|
], 10, _hoisted_10$r)
|
|
7227
|
-
], 8, _hoisted_1$
|
|
7250
|
+
], 8, _hoisted_1$F);
|
|
7228
7251
|
};
|
|
7229
7252
|
}
|
|
7230
7253
|
});
|
|
7231
|
-
const _hoisted_1$
|
|
7254
|
+
const _hoisted_1$E = {
|
|
7232
7255
|
key: 0,
|
|
7233
7256
|
class: "propeller-cart-overview__title text-xl font-bold mb-4"
|
|
7234
7257
|
};
|
|
7235
|
-
const _hoisted_2$
|
|
7236
|
-
const _hoisted_3$
|
|
7258
|
+
const _hoisted_2$D = { class: "propeller-cart-overview__addresses grid grid-cols-1 md:grid-cols-2 gap-6 pb-5" };
|
|
7259
|
+
const _hoisted_3$D = {
|
|
7237
7260
|
class: "propeller-cart-overview__address space-y-2",
|
|
7238
7261
|
"data-address": "invoice"
|
|
7239
7262
|
};
|
|
7240
|
-
const _hoisted_4$
|
|
7241
|
-
const _hoisted_5$
|
|
7263
|
+
const _hoisted_4$z = { class: "propeller-cart-overview__address-title text-sm font-semibold text-muted-foreground uppercase tracking-wide" };
|
|
7264
|
+
const _hoisted_5$y = {
|
|
7242
7265
|
key: 0,
|
|
7243
7266
|
class: "text-sm space-y-1"
|
|
7244
7267
|
};
|
|
7245
|
-
const _hoisted_6$
|
|
7268
|
+
const _hoisted_6$x = {
|
|
7246
7269
|
key: 0,
|
|
7247
7270
|
class: "font-medium"
|
|
7248
7271
|
};
|
|
7249
|
-
const _hoisted_7$
|
|
7250
|
-
const _hoisted_8$
|
|
7272
|
+
const _hoisted_7$x = { key: 1 };
|
|
7273
|
+
const _hoisted_8$t = {
|
|
7251
7274
|
key: 2,
|
|
7252
7275
|
class: "propeller-cart-overview__address-email text-muted-foreground"
|
|
7253
7276
|
};
|
|
7254
|
-
const _hoisted_9$
|
|
7277
|
+
const _hoisted_9$s = {
|
|
7255
7278
|
class: "propeller-cart-overview__address space-y-2",
|
|
7256
7279
|
"data-address": "delivery"
|
|
7257
7280
|
};
|
|
@@ -7286,33 +7309,33 @@ const _hoisted_20$f = {
|
|
|
7286
7309
|
};
|
|
7287
7310
|
const _hoisted_21$e = { class: "font-medium" };
|
|
7288
7311
|
const _hoisted_22$e = { class: "space-y-4 mt-6" };
|
|
7289
|
-
const _hoisted_23$
|
|
7312
|
+
const _hoisted_23$e = {
|
|
7290
7313
|
key: 0,
|
|
7291
7314
|
class: "space-y-2"
|
|
7292
7315
|
};
|
|
7293
|
-
const _hoisted_24$
|
|
7294
|
-
const _hoisted_25$
|
|
7295
|
-
const _hoisted_26$
|
|
7316
|
+
const _hoisted_24$d = { class: "text-sm font-medium" };
|
|
7317
|
+
const _hoisted_25$d = ["value", "placeholder"];
|
|
7318
|
+
const _hoisted_26$d = {
|
|
7296
7319
|
key: 1,
|
|
7297
7320
|
class: "space-y-2"
|
|
7298
7321
|
};
|
|
7299
|
-
const _hoisted_27$
|
|
7322
|
+
const _hoisted_27$d = { class: "text-sm font-medium" };
|
|
7300
7323
|
const _hoisted_28$c = ["value", "placeholder"];
|
|
7301
|
-
const _hoisted_29$
|
|
7324
|
+
const _hoisted_29$c = {
|
|
7302
7325
|
key: 2,
|
|
7303
7326
|
class: "flex items-center space-x-2 pt-2"
|
|
7304
7327
|
};
|
|
7305
|
-
const _hoisted_30$
|
|
7306
|
-
const _hoisted_31$
|
|
7328
|
+
const _hoisted_30$c = ["checked"];
|
|
7329
|
+
const _hoisted_31$c = {
|
|
7307
7330
|
for: "cart-overview-terms",
|
|
7308
7331
|
class: "text-sm leading-none"
|
|
7309
7332
|
};
|
|
7310
|
-
const _hoisted_32$
|
|
7311
|
-
const _hoisted_33$
|
|
7333
|
+
const _hoisted_32$b = ["disabled"];
|
|
7334
|
+
const _hoisted_33$b = {
|
|
7312
7335
|
key: 0,
|
|
7313
7336
|
class: "propeller-cart-overview__spinner w-5 h-5 border-2 border-white border-t-transparent rounded-full animate-spin"
|
|
7314
7337
|
};
|
|
7315
|
-
const _sfc_main$
|
|
7338
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
7316
7339
|
__name: "CartOverview",
|
|
7317
7340
|
props: {
|
|
7318
7341
|
graphqlClient: {},
|
|
@@ -7407,12 +7430,12 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
7407
7430
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
7408
7431
|
class: vue.normalizeClass(`propeller-cart-overview ${containerClass.value}`)
|
|
7409
7432
|
}, [
|
|
7410
|
-
__props.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_1$
|
|
7411
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
7412
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
7413
|
-
vue.createElementVNode("h3", _hoisted_4$
|
|
7414
|
-
invoiceAddress.value && invoiceAddress.value.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
7415
|
-
invoiceAddress.value.company ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6$
|
|
7433
|
+
__props.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_1$E, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
|
|
7434
|
+
vue.createElementVNode("div", _hoisted_2$D, [
|
|
7435
|
+
vue.createElementVNode("div", _hoisted_3$D, [
|
|
7436
|
+
vue.createElementVNode("h3", _hoisted_4$z, vue.toDisplayString(getLabel("invoiceAddress", "Invoice Address")), 1),
|
|
7437
|
+
invoiceAddress.value && invoiceAddress.value.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$y, [
|
|
7438
|
+
invoiceAddress.value.company ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6$x, vue.toDisplayString(invoiceAddress.value.company), 1)) : vue.createCommentVNode("", true),
|
|
7416
7439
|
vue.createElementVNode("p", null, vue.toDisplayString([
|
|
7417
7440
|
invoiceAddress.value.firstName,
|
|
7418
7441
|
invoiceAddress.value.middleName,
|
|
@@ -7424,11 +7447,11 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
7424
7447
|
invoiceAddress.value.numberExtension
|
|
7425
7448
|
].filter(Boolean).join(" ")), 1),
|
|
7426
7449
|
vue.createElementVNode("p", null, vue.toDisplayString([invoiceAddress.value.postalCode, invoiceAddress.value.city].filter(Boolean).join(" ")), 1),
|
|
7427
|
-
invoiceAddress.value.country ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$
|
|
7428
|
-
invoiceAddress.value.email ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$
|
|
7450
|
+
invoiceAddress.value.country ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$x, vue.toDisplayString(getCountryName(invoiceAddress.value.country)), 1)) : vue.createCommentVNode("", true),
|
|
7451
|
+
invoiceAddress.value.email ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$t, vue.toDisplayString(invoiceAddress.value.email), 1)) : vue.createCommentVNode("", true)
|
|
7429
7452
|
])) : vue.createCommentVNode("", true)
|
|
7430
7453
|
]),
|
|
7431
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
7454
|
+
vue.createElementVNode("div", _hoisted_9$s, [
|
|
7432
7455
|
vue.createElementVNode("h3", _hoisted_10$q, vue.toDisplayString(getLabel("deliveryAddress", "Delivery Address")), 1),
|
|
7433
7456
|
deliveryAddress.value && deliveryAddress.value.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$o, [
|
|
7434
7457
|
deliveryAddress.value.company ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_12$o, vue.toDisplayString(deliveryAddress.value.company), 1)) : vue.createCommentVNode("", true),
|
|
@@ -7463,8 +7486,8 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
7463
7486
|
])) : vue.createCommentVNode("", true)
|
|
7464
7487
|
]),
|
|
7465
7488
|
vue.createElementVNode("div", _hoisted_22$e, [
|
|
7466
|
-
showReference.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
7467
|
-
vue.createElementVNode("label", _hoisted_24$
|
|
7489
|
+
showReference.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$e, [
|
|
7490
|
+
vue.createElementVNode("label", _hoisted_24$d, vue.toDisplayString(getLabel("referenceLabel", "Reference (Optional)")), 1),
|
|
7468
7491
|
vue.createElementVNode("input", {
|
|
7469
7492
|
type: "text",
|
|
7470
7493
|
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",
|
|
@@ -7474,10 +7497,10 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
7474
7497
|
)),
|
|
7475
7498
|
placeholder: getLabel("referencePlaceholder", "Your reference number"),
|
|
7476
7499
|
maxLength: 255
|
|
7477
|
-
}, null, 40, _hoisted_25$
|
|
7500
|
+
}, null, 40, _hoisted_25$d)
|
|
7478
7501
|
])) : vue.createCommentVNode("", true),
|
|
7479
|
-
showNotes.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
7480
|
-
vue.createElementVNode("label", _hoisted_27$
|
|
7502
|
+
showNotes.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$d, [
|
|
7503
|
+
vue.createElementVNode("label", _hoisted_27$d, vue.toDisplayString(getLabel("notesLabel", "Order Notes (Optional)")), 1),
|
|
7481
7504
|
vue.createElementVNode("textarea", {
|
|
7482
7505
|
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]",
|
|
7483
7506
|
value: notes.value,
|
|
@@ -7488,15 +7511,15 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
7488
7511
|
maxLength: 255
|
|
7489
7512
|
}, null, 40, _hoisted_28$c)
|
|
7490
7513
|
])) : vue.createCommentVNode("", true),
|
|
7491
|
-
showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$
|
|
7514
|
+
showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$c, [
|
|
7492
7515
|
vue.createElementVNode("input", {
|
|
7493
7516
|
type: "checkbox",
|
|
7494
7517
|
id: "cart-overview-terms",
|
|
7495
7518
|
class: "propeller-cart-overview__checkbox h-4 w-4 rounded border-input text-primary focus:ring-primary",
|
|
7496
7519
|
checked: termsAccepted.value,
|
|
7497
7520
|
onChange: _cache[2] || (_cache[2] = async (event) => handleTermsChange(event.target.checked))
|
|
7498
|
-
}, null, 40, _hoisted_30$
|
|
7499
|
-
vue.createElementVNode("label", _hoisted_31$
|
|
7521
|
+
}, null, 40, _hoisted_30$c),
|
|
7522
|
+
vue.createElementVNode("label", _hoisted_31$c, [
|
|
7500
7523
|
vue.createTextVNode(vue.toDisplayString(getLabel("termsPrefix", "I agree to the")), 1),
|
|
7501
7524
|
vue.createElementVNode("a", {
|
|
7502
7525
|
href: "#",
|
|
@@ -7512,36 +7535,36 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
7512
7535
|
onClick: _cache[4] || (_cache[4] = async (event) => handlePurchaseClick()),
|
|
7513
7536
|
disabled: isPurchaseDisabled.value
|
|
7514
7537
|
}, [
|
|
7515
|
-
loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_33$
|
|
7538
|
+
loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_33$b)) : vue.createCommentVNode("", true),
|
|
7516
7539
|
loading.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
7517
7540
|
vue.createTextVNode(vue.toDisplayString(getLabel("processing", "Processing...")), 1)
|
|
7518
7541
|
], 64)) : vue.createCommentVNode("", true),
|
|
7519
7542
|
!loading.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
7520
7543
|
vue.createTextVNode(vue.toDisplayString(getLabel("purchaseButton", "Place Order")), 1)
|
|
7521
7544
|
], 64)) : vue.createCommentVNode("", true)
|
|
7522
|
-
], 8, _hoisted_32$
|
|
7545
|
+
], 8, _hoisted_32$b)) : vue.createCommentVNode("", true)
|
|
7523
7546
|
])
|
|
7524
7547
|
], 2);
|
|
7525
7548
|
};
|
|
7526
7549
|
}
|
|
7527
7550
|
});
|
|
7528
|
-
const _hoisted_1$
|
|
7551
|
+
const _hoisted_1$D = {
|
|
7529
7552
|
key: 0,
|
|
7530
7553
|
class: "propeller-cart-paymethods__grid grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3"
|
|
7531
7554
|
};
|
|
7532
|
-
const _hoisted_2$
|
|
7533
|
-
const _hoisted_3$
|
|
7534
|
-
const _hoisted_4$
|
|
7535
|
-
const _hoisted_5$
|
|
7536
|
-
const _hoisted_6$
|
|
7555
|
+
const _hoisted_2$C = ["onClick", "data-selected"];
|
|
7556
|
+
const _hoisted_3$C = { class: "propeller-cart-paymethods__method-row flex justify-between items-center" };
|
|
7557
|
+
const _hoisted_4$y = { class: "flex items-center gap-2" };
|
|
7558
|
+
const _hoisted_5$x = { class: "propeller-cart-paymethods__method-name font-medium" };
|
|
7559
|
+
const _hoisted_6$w = {
|
|
7537
7560
|
key: 0,
|
|
7538
7561
|
class: "propeller-cart-paymethods__method-price text-xs bg-surface-hover text-muted-foreground px-2 py-1 rounded-full"
|
|
7539
7562
|
};
|
|
7540
|
-
const _hoisted_7$
|
|
7563
|
+
const _hoisted_7$w = {
|
|
7541
7564
|
key: 1,
|
|
7542
7565
|
class: "propeller-cart-paymethods__empty text-muted-foreground italic"
|
|
7543
7566
|
};
|
|
7544
|
-
const _sfc_main$
|
|
7567
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
7545
7568
|
__name: "CartPaymethods",
|
|
7546
7569
|
props: {
|
|
7547
7570
|
cart: {},
|
|
@@ -7614,7 +7637,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
7614
7637
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
7615
7638
|
class: vue.normalizeClass(`propeller-cart-paymethods ${containerClass.value}`)
|
|
7616
7639
|
}, [
|
|
7617
|
-
payMethods.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
7640
|
+
payMethods.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
|
|
7618
7641
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(payMethods.value, (method, index2) => {
|
|
7619
7642
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
7620
7643
|
key: method.code,
|
|
@@ -7622,37 +7645,37 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
7622
7645
|
"data-selected": selectedCode.value === method.code ? "true" : "false",
|
|
7623
7646
|
class: vue.normalizeClass(`propeller-cart-paymethods__method cursor-pointer border border-border rounded-[var(--radius-container)] p-4 flex flex-col gap-2 transition-all ${selectedCode.value === method.code ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
|
|
7624
7647
|
}, [
|
|
7625
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
7626
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
7627
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
7648
|
+
vue.createElementVNode("div", _hoisted_3$C, [
|
|
7649
|
+
vue.createElementVNode("div", _hoisted_4$y, [
|
|
7650
|
+
vue.createElementVNode("span", _hoisted_5$x, vue.toDisplayString(method.name || method.code), 1)
|
|
7628
7651
|
]),
|
|
7629
|
-
method.price > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
7652
|
+
method.price > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$w, vue.toDisplayString(formatMethodPrice(method.price)), 1)) : vue.createCommentVNode("", true)
|
|
7630
7653
|
])
|
|
7631
|
-
], 10, _hoisted_2$
|
|
7654
|
+
], 10, _hoisted_2$C);
|
|
7632
7655
|
}), 128))
|
|
7633
7656
|
])) : vue.createCommentVNode("", true),
|
|
7634
|
-
payMethods.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$
|
|
7657
|
+
payMethods.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$w, vue.toDisplayString(getLabel("noMethods", "No payment methods available.")), 1)) : vue.createCommentVNode("", true)
|
|
7635
7658
|
], 2);
|
|
7636
7659
|
};
|
|
7637
7660
|
}
|
|
7638
7661
|
});
|
|
7639
|
-
const _hoisted_1$
|
|
7640
|
-
const _hoisted_2$
|
|
7641
|
-
const _hoisted_3$
|
|
7662
|
+
const _hoisted_1$C = { class: "propeller-cart-summary w-full bg-card space-y-3" };
|
|
7663
|
+
const _hoisted_2$B = { class: "propeller-cart-summary__title text-xl font-bold mb-4" };
|
|
7664
|
+
const _hoisted_3$B = {
|
|
7642
7665
|
key: 0,
|
|
7643
7666
|
class: "propeller-cart-summary__row flex justify-between text-muted-foreground",
|
|
7644
7667
|
"data-row": "subtotal"
|
|
7645
7668
|
};
|
|
7646
|
-
const _hoisted_4$
|
|
7647
|
-
const _hoisted_5$
|
|
7648
|
-
const _hoisted_6$
|
|
7669
|
+
const _hoisted_4$x = { class: "propeller-cart-summary__label" };
|
|
7670
|
+
const _hoisted_5$w = { class: "propeller-cart-summary__value" };
|
|
7671
|
+
const _hoisted_6$v = {
|
|
7649
7672
|
key: 1,
|
|
7650
7673
|
class: "propeller-cart-summary__row flex justify-between text-success",
|
|
7651
7674
|
"data-row": "discount"
|
|
7652
7675
|
};
|
|
7653
|
-
const _hoisted_7$
|
|
7654
|
-
const _hoisted_8$
|
|
7655
|
-
const _hoisted_9$
|
|
7676
|
+
const _hoisted_7$v = { class: "propeller-cart-summary__label" };
|
|
7677
|
+
const _hoisted_8$s = { class: "propeller-cart-summary__value" };
|
|
7678
|
+
const _hoisted_9$r = {
|
|
7656
7679
|
key: 2,
|
|
7657
7680
|
class: "propeller-cart-summary__row flex justify-between text-muted-foreground",
|
|
7658
7681
|
"data-row": "shipping-costs"
|
|
@@ -7681,8 +7704,8 @@ const _hoisted_20$e = {
|
|
|
7681
7704
|
};
|
|
7682
7705
|
const _hoisted_21$d = { class: "propeller-cart-summary__label" };
|
|
7683
7706
|
const _hoisted_22$d = { class: "propeller-cart-summary__value" };
|
|
7684
|
-
const _hoisted_23$
|
|
7685
|
-
const _sfc_main$
|
|
7707
|
+
const _hoisted_23$d = ["disabled"];
|
|
7708
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
7686
7709
|
__name: "CartSummary",
|
|
7687
7710
|
props: {
|
|
7688
7711
|
cart: {},
|
|
@@ -7831,17 +7854,17 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
7831
7854
|
}
|
|
7832
7855
|
}
|
|
7833
7856
|
return (_ctx, _cache) => {
|
|
7834
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
7835
|
-
vue.createElementVNode("h2", _hoisted_2$
|
|
7836
|
-
showSubtotal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
7837
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
7838
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
7857
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
|
|
7858
|
+
vue.createElementVNode("h2", _hoisted_2$B, vue.toDisplayString(title.value), 1),
|
|
7859
|
+
showSubtotal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$B, [
|
|
7860
|
+
vue.createElementVNode("span", _hoisted_4$x, vue.toDisplayString(getLabel("subtotal", "Subtotal:")), 1),
|
|
7861
|
+
vue.createElementVNode("span", _hoisted_5$w, vue.toDisplayString(formatItemPrice(subtotal.value)), 1)
|
|
7839
7862
|
])) : vue.createCommentVNode("", true),
|
|
7840
|
-
showDiscount.value && hasDiscount.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$
|
|
7841
|
-
vue.createElementVNode("span", _hoisted_7$
|
|
7842
|
-
vue.createElementVNode("span", _hoisted_8$
|
|
7863
|
+
showDiscount.value && hasDiscount.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$v, [
|
|
7864
|
+
vue.createElementVNode("span", _hoisted_7$v, vue.toDisplayString(getLabel("discount", "Discount:")), 1),
|
|
7865
|
+
vue.createElementVNode("span", _hoisted_8$s, "-" + vue.toDisplayString(formatItemPrice(discountAmount.value)), 1)
|
|
7843
7866
|
])) : vue.createCommentVNode("", true),
|
|
7844
|
-
showShippingCosts.value && hasShippingCosts.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$
|
|
7867
|
+
showShippingCosts.value && hasShippingCosts.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$r, [
|
|
7845
7868
|
vue.createElementVNode("span", _hoisted_10$p, vue.toDisplayString(getLabel("shippingCosts", "Shipping costs:")), 1),
|
|
7846
7869
|
vue.createElementVNode("span", _hoisted_11$n, vue.toDisplayString(formatItemPrice(shippingCosts.value)), 1)
|
|
7847
7870
|
])) : vue.createCommentVNode("", true),
|
|
@@ -7893,18 +7916,18 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
7893
7916
|
!requestLoading.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
7894
7917
|
vue.createTextVNode(vue.toDisplayString(getLabel("requestAuthorizationButton", "Request Authorization")), 1)
|
|
7895
7918
|
], 64)) : vue.createCommentVNode("", true)
|
|
7896
|
-
], 8, _hoisted_23$
|
|
7919
|
+
], 8, _hoisted_23$d)) : vue.createCommentVNode("", true)
|
|
7897
7920
|
]);
|
|
7898
7921
|
};
|
|
7899
7922
|
}
|
|
7900
7923
|
});
|
|
7901
|
-
const _hoisted_1$
|
|
7902
|
-
const _hoisted_2$
|
|
7903
|
-
const _hoisted_3$
|
|
7924
|
+
const _hoisted_1$B = ["data-expanded", "data-truncatable"];
|
|
7925
|
+
const _hoisted_2$A = ["innerHTML"];
|
|
7926
|
+
const _hoisted_3$A = {
|
|
7904
7927
|
key: 1,
|
|
7905
7928
|
class: "propeller-category-description__truncated text-muted-foreground"
|
|
7906
7929
|
};
|
|
7907
|
-
const _sfc_main$
|
|
7930
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
7908
7931
|
__name: "CategoryDescription",
|
|
7909
7932
|
props: {
|
|
7910
7933
|
language: {},
|
|
@@ -7955,8 +7978,8 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
7955
7978
|
key: 0,
|
|
7956
7979
|
class: "propeller-category-description__content prose prose-slate max-w-none text-muted-foreground",
|
|
7957
7980
|
innerHTML: html.value
|
|
7958
|
-
}, null, 8, _hoisted_2$
|
|
7959
|
-
shouldTruncate() && !expanded.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$
|
|
7981
|
+
}, null, 8, _hoisted_2$A)) : vue.createCommentVNode("", true),
|
|
7982
|
+
shouldTruncate() && !expanded.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$A, vue.toDisplayString(getTruncated()), 1)) : vue.createCommentVNode("", true),
|
|
7960
7983
|
shouldTruncate() ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
7961
7984
|
key: 2,
|
|
7962
7985
|
class: "propeller-category-description__toggle mt-2 text-sm font-medium text-primary hover:underline",
|
|
@@ -7969,12 +7992,12 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
7969
7992
|
vue.createTextVNode(" Read more ")
|
|
7970
7993
|
], 64)) : vue.createCommentVNode("", true)
|
|
7971
7994
|
])) : vue.createCommentVNode("", true)
|
|
7972
|
-
], 10, _hoisted_1$
|
|
7995
|
+
], 10, _hoisted_1$B)) : vue.createCommentVNode("", true);
|
|
7973
7996
|
};
|
|
7974
7997
|
}
|
|
7975
7998
|
});
|
|
7976
|
-
const _hoisted_1$
|
|
7977
|
-
const _sfc_main$
|
|
7999
|
+
const _hoisted_1$A = ["src", "alt"];
|
|
8000
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
7978
8001
|
__name: "DefaultProductImage",
|
|
7979
8002
|
props: {
|
|
7980
8003
|
product: {},
|
|
@@ -8029,7 +8052,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
8029
8052
|
alt: altText.value,
|
|
8030
8053
|
class: vue.normalizeClass(className.value ?? "h-full w-full object-contain"),
|
|
8031
8054
|
loading: "lazy"
|
|
8032
|
-
}, null, 10, _hoisted_1$
|
|
8055
|
+
}, null, 10, _hoisted_1$A)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
8033
8056
|
key: 1,
|
|
8034
8057
|
class: vue.normalizeClass(className.value ?? "propeller-default-image-placeholder flex items-center justify-center bg-surface-hover"),
|
|
8035
8058
|
"aria-hidden": "true"
|
|
@@ -8051,7 +8074,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
8051
8074
|
};
|
|
8052
8075
|
}
|
|
8053
8076
|
});
|
|
8054
|
-
const _sfc_main$
|
|
8077
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
8055
8078
|
__name: "DefaultProductBadges",
|
|
8056
8079
|
props: {
|
|
8057
8080
|
product: {},
|
|
@@ -8083,44 +8106,61 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8083
8106
|
};
|
|
8084
8107
|
}
|
|
8085
8108
|
});
|
|
8086
|
-
const _hoisted_1$
|
|
8087
|
-
const _hoisted_2$
|
|
8088
|
-
const _hoisted_3$
|
|
8089
|
-
const _hoisted_4$
|
|
8109
|
+
const _hoisted_1$z = ["data-layout"];
|
|
8110
|
+
const _hoisted_2$z = ["href"];
|
|
8111
|
+
const _hoisted_3$z = ["src", "alt"];
|
|
8112
|
+
const _hoisted_4$w = {
|
|
8090
8113
|
key: 1,
|
|
8091
8114
|
class: "propeller-cluster-card__image-placeholder flex h-full w-full items-center justify-center text-foreground-subtle"
|
|
8092
8115
|
};
|
|
8093
|
-
const _hoisted_5$
|
|
8094
|
-
const _hoisted_6$
|
|
8095
|
-
const _hoisted_7$
|
|
8096
|
-
const _hoisted_8$
|
|
8097
|
-
const _hoisted_9$
|
|
8116
|
+
const _hoisted_5$v = { class: "propeller-cluster-card__badges pointer-events-none absolute left-2 top-2 flex flex-col gap-1" };
|
|
8117
|
+
const _hoisted_6$u = ["aria-label", "data-favorite"];
|
|
8118
|
+
const _hoisted_7$u = ["fill"];
|
|
8119
|
+
const _hoisted_8$r = { class: "propeller-cluster-card__body flex flex-1 flex-row items-center gap-4 px-4 py-2 min-w-0" };
|
|
8120
|
+
const _hoisted_9$q = { class: "flex flex-col gap-0.5 flex-1 min-w-0" };
|
|
8098
8121
|
const _hoisted_10$o = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
|
|
8099
8122
|
const _hoisted_11$m = ["href"];
|
|
8100
8123
|
const _hoisted_12$m = { class: "flex flex-col gap-0.5" };
|
|
8101
8124
|
const _hoisted_13$k = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
|
|
8102
8125
|
const _hoisted_14$k = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
8103
|
-
const _hoisted_15$j = { class: "propeller-cluster-card__footer w-full md:w-auto flex items-center gap-3 px-4 py-2 md:py-0 border-t md:border-t-0 border-border-subtle" };
|
|
8104
|
-
const _hoisted_16$i = {
|
|
8126
|
+
const _hoisted_15$j = { class: "propeller-cluster-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" };
|
|
8127
|
+
const _hoisted_16$i = { class: "propeller-cluster-card__footer-meta flex items-center justify-between gap-3 md:contents" };
|
|
8128
|
+
const _hoisted_17$i = {
|
|
8105
8129
|
key: 1,
|
|
8106
8130
|
class: "propeller-cluster-card__price font-bold text-foreground text-sm whitespace-nowrap"
|
|
8107
8131
|
};
|
|
8108
|
-
const
|
|
8109
|
-
const
|
|
8110
|
-
const
|
|
8111
|
-
const
|
|
8112
|
-
const
|
|
8113
|
-
const
|
|
8114
|
-
|
|
8115
|
-
|
|
8116
|
-
|
|
8117
|
-
const
|
|
8132
|
+
const _hoisted_18$g = { class: "propeller-cluster-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
|
|
8133
|
+
const _hoisted_19$f = ["href"];
|
|
8134
|
+
const _hoisted_20$d = { class: "propeller-cluster-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
|
|
8135
|
+
const _hoisted_21$c = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
|
|
8136
|
+
const _hoisted_22$c = ["href"];
|
|
8137
|
+
const _hoisted_23$c = {
|
|
8138
|
+
key: 2,
|
|
8139
|
+
class: "hidden md:block"
|
|
8140
|
+
};
|
|
8141
|
+
const _hoisted_24$c = { class: "propeller-cluster-card__labels flex flex-col gap-0.5" };
|
|
8142
|
+
const _hoisted_25$c = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
|
|
8143
|
+
const _hoisted_26$c = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
8144
|
+
const _hoisted_27$c = {
|
|
8145
|
+
key: 6,
|
|
8146
|
+
class: "mt-auto hidden md:block"
|
|
8147
|
+
};
|
|
8148
|
+
const _hoisted_28$b = { class: "propeller-cluster-card__price pt-1" };
|
|
8149
|
+
const _hoisted_29$b = {
|
|
8118
8150
|
key: 1,
|
|
8119
8151
|
class: "font-bold text-foreground text-base sm:text-lg"
|
|
8120
8152
|
};
|
|
8121
|
-
const
|
|
8122
|
-
|
|
8123
|
-
|
|
8153
|
+
const _hoisted_30$b = {
|
|
8154
|
+
key: 0,
|
|
8155
|
+
class: "propeller-cluster-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"
|
|
8156
|
+
};
|
|
8157
|
+
const _hoisted_31$b = {
|
|
8158
|
+
key: 1,
|
|
8159
|
+
class: "propeller-cluster-card__price font-bold text-foreground text-base min-w-0 text-right"
|
|
8160
|
+
};
|
|
8161
|
+
const _hoisted_32$a = { class: "propeller-cluster-card__cta px-3 pb-3 pt-2 sm:px-4 sm:pb-4" };
|
|
8162
|
+
const _hoisted_33$a = ["href"];
|
|
8163
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
8124
8164
|
__name: "ClusterCard",
|
|
8125
8165
|
props: {
|
|
8126
8166
|
cluster: {},
|
|
@@ -8170,9 +8210,9 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8170
8210
|
);
|
|
8171
8211
|
const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
|
|
8172
8212
|
const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
|
|
8173
|
-
const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$
|
|
8174
|
-
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$
|
|
8175
|
-
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$
|
|
8213
|
+
const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$E);
|
|
8214
|
+
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$D);
|
|
8215
|
+
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$Q);
|
|
8176
8216
|
const isFavorite = vue.ref(false);
|
|
8177
8217
|
function isRow() {
|
|
8178
8218
|
return props.columns === 1;
|
|
@@ -8302,8 +8342,8 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8302
8342
|
class: "propeller-cluster-card__image h-full w-full object-contain transition-transform duration-300 group-hover:scale-105",
|
|
8303
8343
|
src: getClusterImageUrl(),
|
|
8304
8344
|
alt: getClusterName()
|
|
8305
|
-
}, null, 8, _hoisted_3$
|
|
8306
|
-
!getClusterImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
8345
|
+
}, null, 8, _hoisted_3$z)) : vue.createCommentVNode("", true),
|
|
8346
|
+
!getClusterImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$w, [..._cache[6] || (_cache[6] = [
|
|
8307
8347
|
vue.createElementVNode("svg", {
|
|
8308
8348
|
fill: "none",
|
|
8309
8349
|
stroke: "currentColor",
|
|
@@ -8318,7 +8358,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8318
8358
|
})
|
|
8319
8359
|
], -1)
|
|
8320
8360
|
])])) : vue.createCommentVNode("", true)
|
|
8321
|
-
], 8, _hoisted_2$
|
|
8361
|
+
], 8, _hoisted_2$z),
|
|
8322
8362
|
props.badgesComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(BadgesImpl.value), {
|
|
8323
8363
|
key: 0,
|
|
8324
8364
|
cluster: __props.cluster,
|
|
@@ -8329,7 +8369,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8329
8369
|
imageLabels: computedImageLabels(),
|
|
8330
8370
|
labels: __props.labels
|
|
8331
8371
|
}, () => [
|
|
8332
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
8372
|
+
vue.createElementVNode("div", _hoisted_5$v, [
|
|
8333
8373
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedImageLabels(), (label, index2) => {
|
|
8334
8374
|
return vue.openBlock(), vue.createElementBlock("span", {
|
|
8335
8375
|
key: index2,
|
|
@@ -8369,15 +8409,15 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8369
8409
|
strokeLinejoin: "round",
|
|
8370
8410
|
d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
|
|
8371
8411
|
}, null, -1)
|
|
8372
|
-
])], 8, _hoisted_7$
|
|
8373
|
-
], 10, _hoisted_6$
|
|
8412
|
+
])], 8, _hoisted_7$u))
|
|
8413
|
+
], 10, _hoisted_6$u)
|
|
8374
8414
|
]) : vue.createCommentVNode("", true)
|
|
8375
8415
|
], 2)
|
|
8376
8416
|
])
|
|
8377
8417
|
], 64)) : vue.createCommentVNode("", true),
|
|
8378
8418
|
isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
8379
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
8380
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
8419
|
+
vue.createElementVNode("div", _hoisted_8$r, [
|
|
8420
|
+
vue.createElementVNode("div", _hoisted_9$q, [
|
|
8381
8421
|
__props.showSku !== false && !!getClusterSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
8382
8422
|
key: 0,
|
|
8383
8423
|
cluster: __props.cluster,
|
|
@@ -8429,44 +8469,46 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8429
8469
|
])
|
|
8430
8470
|
]),
|
|
8431
8471
|
vue.createElementVNode("div", _hoisted_15$j, [
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
cluster: __props.cluster,
|
|
8435
|
-
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8436
|
-
showAvailability: false,
|
|
8437
|
-
labels: __props.stockLabels
|
|
8438
|
-
}, () => [
|
|
8439
|
-
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
8472
|
+
vue.createElementVNode("div", _hoisted_16$i, [
|
|
8473
|
+
__props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
8440
8474
|
key: 0,
|
|
8441
|
-
|
|
8442
|
-
"show-availability": false,
|
|
8443
|
-
"show-stock": true,
|
|
8444
|
-
labels: __props.stockLabels
|
|
8445
|
-
}, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
8446
|
-
key: 1,
|
|
8475
|
+
cluster: __props.cluster,
|
|
8447
8476
|
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8448
8477
|
showAvailability: false,
|
|
8449
|
-
showStock: true,
|
|
8450
8478
|
labels: __props.stockLabels
|
|
8451
|
-
},
|
|
8452
|
-
|
|
8453
|
-
|
|
8454
|
-
|
|
8455
|
-
|
|
8456
|
-
|
|
8457
|
-
|
|
8458
|
-
|
|
8459
|
-
|
|
8460
|
-
|
|
8461
|
-
|
|
8462
|
-
|
|
8479
|
+
}, () => [
|
|
8480
|
+
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
8481
|
+
key: 0,
|
|
8482
|
+
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8483
|
+
"show-availability": false,
|
|
8484
|
+
"show-stock": true,
|
|
8485
|
+
labels: __props.stockLabels
|
|
8486
|
+
}, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
8487
|
+
key: 1,
|
|
8488
|
+
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8489
|
+
showAvailability: false,
|
|
8490
|
+
showStock: true,
|
|
8491
|
+
labels: __props.stockLabels
|
|
8492
|
+
}, null, 8, ["inventory", "labels"]))
|
|
8493
|
+
]) : vue.createCommentVNode("", true),
|
|
8494
|
+
!!getClusterPrice() ? vue.renderSlot(_ctx.$slots, "price", {
|
|
8495
|
+
key: 1,
|
|
8496
|
+
cluster: __props.cluster,
|
|
8463
8497
|
price: __props.cluster.defaultProduct?.price,
|
|
8464
|
-
|
|
8498
|
+
includeTax: resolvedIncludeTax.value,
|
|
8465
8499
|
currency: __props.currency,
|
|
8466
8500
|
labels: __props.labels
|
|
8467
|
-
},
|
|
8468
|
-
|
|
8469
|
-
|
|
8501
|
+
}, () => [
|
|
8502
|
+
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
8503
|
+
key: 0,
|
|
8504
|
+
price: __props.cluster.defaultProduct?.price,
|
|
8505
|
+
"include-tax": resolvedIncludeTax.value,
|
|
8506
|
+
currency: __props.currency,
|
|
8507
|
+
labels: __props.labels
|
|
8508
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_17$i, vue.toDisplayString(getClusterPrice()), 1))
|
|
8509
|
+
]) : vue.createCommentVNode("", true)
|
|
8510
|
+
]),
|
|
8511
|
+
vue.createElementVNode("div", _hoisted_18$g, [
|
|
8470
8512
|
vue.renderSlot(_ctx.$slots, "viewClusterLink", {
|
|
8471
8513
|
cluster: __props.cluster,
|
|
8472
8514
|
clusterUrl: getClusterUrl(),
|
|
@@ -8477,19 +8519,19 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8477
8519
|
class: "propeller-cluster-card__cta-link flex w-full items-center justify-center rounded-[var(--radius-control)] bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",
|
|
8478
8520
|
href: getClusterUrl(),
|
|
8479
8521
|
onClick: _cache[3] || (_cache[3] = async (e) => handleClusterClick(e))
|
|
8480
|
-
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9,
|
|
8522
|
+
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_19$f)
|
|
8481
8523
|
])
|
|
8482
8524
|
])
|
|
8483
8525
|
])
|
|
8484
8526
|
], 64)) : vue.createCommentVNode("", true),
|
|
8485
8527
|
!isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
8486
|
-
vue.createElementVNode("div",
|
|
8528
|
+
vue.createElementVNode("div", _hoisted_20$d, [
|
|
8487
8529
|
__props.showSku !== false && !!getClusterSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
8488
8530
|
key: 0,
|
|
8489
8531
|
cluster: __props.cluster,
|
|
8490
8532
|
sku: getClusterSku()
|
|
8491
8533
|
}, () => [
|
|
8492
|
-
vue.createElementVNode("div",
|
|
8534
|
+
vue.createElementVNode("div", _hoisted_21$c, vue.toDisplayString(getClusterSku()), 1)
|
|
8493
8535
|
]) : vue.createCommentVNode("", true),
|
|
8494
8536
|
__props.showName !== false ? vue.renderSlot(_ctx.$slots, getClusterName(), {
|
|
8495
8537
|
key: 1,
|
|
@@ -8502,35 +8544,36 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8502
8544
|
class: "propeller-cluster-card__title text-sm font-medium leading-tight text-foreground transition-colors hover:text-primary line-clamp-2",
|
|
8503
8545
|
href: getClusterUrl(),
|
|
8504
8546
|
onClick: _cache[4] || (_cache[4] = async (e) => handleClusterClick(e))
|
|
8505
|
-
}, vue.toDisplayString(getClusterName()), 9,
|
|
8547
|
+
}, vue.toDisplayString(getClusterName()), 9, _hoisted_22$c)
|
|
8506
8548
|
]) : vue.createCommentVNode("", true),
|
|
8507
|
-
__props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.
|
|
8508
|
-
|
|
8509
|
-
|
|
8510
|
-
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8511
|
-
showAvailability: __props.showAvailability !== false,
|
|
8512
|
-
labels: __props.stockLabels
|
|
8513
|
-
}, () => [
|
|
8514
|
-
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
8515
|
-
key: 0,
|
|
8516
|
-
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8517
|
-
"show-availability": __props.showAvailability !== false,
|
|
8518
|
-
"show-stock": true,
|
|
8519
|
-
labels: __props.stockLabels
|
|
8520
|
-
}, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
8521
|
-
key: 1,
|
|
8549
|
+
__props.showStock && !!__props.cluster.defaultProduct?.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$c, [
|
|
8550
|
+
vue.renderSlot(_ctx.$slots, "stock", {
|
|
8551
|
+
cluster: __props.cluster,
|
|
8522
8552
|
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8523
8553
|
showAvailability: __props.showAvailability !== false,
|
|
8524
|
-
showStock: true,
|
|
8525
8554
|
labels: __props.stockLabels
|
|
8526
|
-
},
|
|
8527
|
-
|
|
8555
|
+
}, () => [
|
|
8556
|
+
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
8557
|
+
key: 0,
|
|
8558
|
+
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8559
|
+
"show-availability": __props.showAvailability !== false,
|
|
8560
|
+
"show-stock": true,
|
|
8561
|
+
labels: __props.stockLabels
|
|
8562
|
+
}, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
8563
|
+
key: 1,
|
|
8564
|
+
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8565
|
+
showAvailability: __props.showAvailability !== false,
|
|
8566
|
+
showStock: true,
|
|
8567
|
+
labels: __props.stockLabels
|
|
8568
|
+
}, null, 8, ["inventory", "showAvailability", "labels"]))
|
|
8569
|
+
])
|
|
8570
|
+
])) : vue.createCommentVNode("", true),
|
|
8528
8571
|
!!__props.textLabels && __props.textLabels.length > 0 && computedTextLabels().length > 0 ? vue.renderSlot(_ctx.$slots, "textLabels", {
|
|
8529
8572
|
key: 3,
|
|
8530
8573
|
cluster: __props.cluster,
|
|
8531
8574
|
values: computedTextLabels()
|
|
8532
8575
|
}, () => [
|
|
8533
|
-
vue.createElementVNode("div",
|
|
8576
|
+
vue.createElementVNode("div", _hoisted_24$c, [
|
|
8534
8577
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
8535
8578
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
8536
8579
|
key: index2,
|
|
@@ -8544,35 +8587,75 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8544
8587
|
cluster: __props.cluster,
|
|
8545
8588
|
manufacturer: getClusterManufacturer()
|
|
8546
8589
|
}, () => [
|
|
8547
|
-
vue.createElementVNode("div",
|
|
8590
|
+
vue.createElementVNode("div", _hoisted_25$c, vue.toDisplayString(getClusterManufacturer()), 1)
|
|
8548
8591
|
]) : vue.createCommentVNode("", true),
|
|
8549
8592
|
__props.showShortDescription && !!getClusterShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
8550
8593
|
key: 5,
|
|
8551
8594
|
cluster: __props.cluster,
|
|
8552
8595
|
text: getClusterShortDescription()
|
|
8553
8596
|
}, () => [
|
|
8554
|
-
vue.createElementVNode("p",
|
|
8597
|
+
vue.createElementVNode("p", _hoisted_26$c, vue.toDisplayString(getClusterShortDescription()), 1)
|
|
8598
|
+
]) : vue.createCommentVNode("", true),
|
|
8599
|
+
!!getClusterPrice() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$c, [
|
|
8600
|
+
vue.renderSlot(_ctx.$slots, "price", {
|
|
8601
|
+
cluster: __props.cluster,
|
|
8602
|
+
price: __props.cluster.defaultProduct?.price,
|
|
8603
|
+
includeTax: resolvedIncludeTax.value,
|
|
8604
|
+
currency: __props.currency,
|
|
8605
|
+
labels: __props.labels
|
|
8606
|
+
}, () => [
|
|
8607
|
+
vue.createElementVNode("div", _hoisted_28$b, [
|
|
8608
|
+
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
8609
|
+
key: 0,
|
|
8610
|
+
price: __props.cluster.defaultProduct?.price,
|
|
8611
|
+
"include-tax": resolvedIncludeTax.value,
|
|
8612
|
+
currency: __props.currency,
|
|
8613
|
+
labels: __props.labels
|
|
8614
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_29$b, vue.toDisplayString(getClusterPrice()), 1))
|
|
8615
|
+
])
|
|
8616
|
+
])
|
|
8617
|
+
])) : vue.createCommentVNode("", true)
|
|
8618
|
+
]),
|
|
8619
|
+
__props.showStock && !!__props.cluster.defaultProduct?.inventory || !!getClusterPrice() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_30$b, [
|
|
8620
|
+
__props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
8621
|
+
key: 0,
|
|
8622
|
+
cluster: __props.cluster,
|
|
8623
|
+
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8624
|
+
showAvailability: __props.showAvailability !== false,
|
|
8625
|
+
labels: __props.stockLabels
|
|
8626
|
+
}, () => [
|
|
8627
|
+
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
8628
|
+
key: 0,
|
|
8629
|
+
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8630
|
+
"show-availability": __props.showAvailability !== false,
|
|
8631
|
+
"show-stock": true,
|
|
8632
|
+
labels: __props.stockLabels
|
|
8633
|
+
}, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
8634
|
+
key: 1,
|
|
8635
|
+
inventory: __props.cluster.defaultProduct?.inventory,
|
|
8636
|
+
showAvailability: __props.showAvailability !== false,
|
|
8637
|
+
showStock: true,
|
|
8638
|
+
labels: __props.stockLabels
|
|
8639
|
+
}, null, 8, ["inventory", "showAvailability", "labels"]))
|
|
8555
8640
|
]) : vue.createCommentVNode("", true),
|
|
8556
8641
|
!!getClusterPrice() ? vue.renderSlot(_ctx.$slots, "price", {
|
|
8557
|
-
key:
|
|
8642
|
+
key: 1,
|
|
8558
8643
|
cluster: __props.cluster,
|
|
8559
8644
|
price: __props.cluster.defaultProduct?.price,
|
|
8560
8645
|
includeTax: resolvedIncludeTax.value,
|
|
8561
8646
|
currency: __props.currency,
|
|
8562
8647
|
labels: __props.labels
|
|
8563
8648
|
}, () => [
|
|
8564
|
-
vue.
|
|
8565
|
-
|
|
8566
|
-
|
|
8567
|
-
|
|
8568
|
-
|
|
8569
|
-
|
|
8570
|
-
|
|
8571
|
-
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$b, vue.toDisplayString(getClusterPrice()), 1))
|
|
8572
|
-
])
|
|
8649
|
+
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
8650
|
+
key: 0,
|
|
8651
|
+
price: __props.cluster.defaultProduct?.price,
|
|
8652
|
+
"include-tax": resolvedIncludeTax.value,
|
|
8653
|
+
currency: __props.currency,
|
|
8654
|
+
labels: __props.labels
|
|
8655
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_31$b, vue.toDisplayString(getClusterPrice()), 1))
|
|
8573
8656
|
]) : vue.createCommentVNode("", true)
|
|
8574
|
-
]),
|
|
8575
|
-
vue.createElementVNode("div",
|
|
8657
|
+
])) : vue.createCommentVNode("", true),
|
|
8658
|
+
vue.createElementVNode("div", _hoisted_32$a, [
|
|
8576
8659
|
vue.renderSlot(_ctx.$slots, "viewClusterLink", {
|
|
8577
8660
|
cluster: __props.cluster,
|
|
8578
8661
|
clusterUrl: getClusterUrl(),
|
|
@@ -8583,29 +8666,29 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8583
8666
|
class: "propeller-cluster-card__cta-link flex w-full items-center justify-center rounded-[var(--radius-control)] bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",
|
|
8584
8667
|
href: getClusterUrl(),
|
|
8585
8668
|
onClick: _cache[5] || (_cache[5] = async (e) => handleClusterClick(e))
|
|
8586
|
-
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9,
|
|
8669
|
+
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_33$a)
|
|
8587
8670
|
])
|
|
8588
8671
|
])
|
|
8589
8672
|
], 64)) : vue.createCommentVNode("", true)
|
|
8590
|
-
], 10, _hoisted_1$
|
|
8673
|
+
], 10, _hoisted_1$z);
|
|
8591
8674
|
};
|
|
8592
8675
|
}
|
|
8593
8676
|
});
|
|
8594
|
-
const _hoisted_1$
|
|
8677
|
+
const _hoisted_1$y = {
|
|
8595
8678
|
key: 0,
|
|
8596
8679
|
class: "propeller-cluster-configurator__content flex flex-col gap-6"
|
|
8597
8680
|
};
|
|
8598
|
-
const _hoisted_2$
|
|
8599
|
-
const _hoisted_3$
|
|
8600
|
-
const _hoisted_4$
|
|
8601
|
-
const _hoisted_5$
|
|
8602
|
-
const _hoisted_6$
|
|
8603
|
-
const _hoisted_7$
|
|
8681
|
+
const _hoisted_2$y = ["data-display-type", "data-disabled"];
|
|
8682
|
+
const _hoisted_3$y = { class: "propeller-cluster-configurator__label font-semibold text-sm text-muted-foreground mb-3" };
|
|
8683
|
+
const _hoisted_4$v = ["value", "disabled", "onChange"];
|
|
8684
|
+
const _hoisted_5$u = { value: "" };
|
|
8685
|
+
const _hoisted_6$t = ["value"];
|
|
8686
|
+
const _hoisted_7$t = {
|
|
8604
8687
|
key: 1,
|
|
8605
8688
|
class: "propeller-cluster-configurator__options flex flex-wrap gap-2"
|
|
8606
8689
|
};
|
|
8607
|
-
const _hoisted_8$
|
|
8608
|
-
const _hoisted_9$
|
|
8690
|
+
const _hoisted_8$q = ["data-selected"];
|
|
8691
|
+
const _hoisted_9$p = ["name", "value", "checked", "disabled", "onChange"];
|
|
8609
8692
|
const _hoisted_10$n = {
|
|
8610
8693
|
key: 2,
|
|
8611
8694
|
class: "propeller-cluster-configurator__options flex flex-wrap gap-2"
|
|
@@ -8631,7 +8714,7 @@ const _hoisted_18$f = {
|
|
|
8631
8714
|
class: "propeller-cluster-configurator__options flex flex-wrap gap-2"
|
|
8632
8715
|
};
|
|
8633
8716
|
const _hoisted_19$e = ["disabled", "onClick", "data-selected"];
|
|
8634
|
-
const _sfc_main$
|
|
8717
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
8635
8718
|
__name: "ClusterConfigurator",
|
|
8636
8719
|
props: {
|
|
8637
8720
|
clusterId: {},
|
|
@@ -8909,7 +8992,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
8909
8992
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
8910
8993
|
class: vue.normalizeClass(`propeller-cluster-configurator ${__props.className || ""}`)
|
|
8911
8994
|
}, [
|
|
8912
|
-
!!__props.config?.settings?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
8995
|
+
!!__props.config?.settings?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
|
|
8913
8996
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSettingsWithValues(), (setting, index2) => {
|
|
8914
8997
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
8915
8998
|
key: setting.id,
|
|
@@ -8917,7 +9000,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
8917
9000
|
"data-display-type": setting.displayType,
|
|
8918
9001
|
"data-disabled": setting.disabled ? "true" : "false"
|
|
8919
9002
|
}, [
|
|
8920
|
-
vue.createElementVNode("h4", _hoisted_3$
|
|
9003
|
+
vue.createElementVNode("h4", _hoisted_3$y, vue.toDisplayString(setting.displayName || setting.name), 1),
|
|
8921
9004
|
setting.displayType === "DROPDOWN" ? (vue.openBlock(), vue.createElementBlock("select", {
|
|
8922
9005
|
key: 0,
|
|
8923
9006
|
class: "propeller-cluster-configurator__select w-full border border-border rounded-[var(--radius-container)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-secondary disabled:bg-surface-hover disabled:text-foreground-subtle cursor-pointer",
|
|
@@ -8928,15 +9011,15 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
8928
9011
|
e.target.value
|
|
8929
9012
|
)
|
|
8930
9013
|
}, [
|
|
8931
|
-
vue.createElementVNode("option", _hoisted_5$
|
|
9014
|
+
vue.createElementVNode("option", _hoisted_5$u, vue.toDisplayString(getLabel("selectOption", "— Select —")), 1),
|
|
8932
9015
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(setting.availableValues, (val, index22) => {
|
|
8933
9016
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
8934
9017
|
key: val,
|
|
8935
9018
|
value: val
|
|
8936
|
-
}, vue.toDisplayString(val), 9, _hoisted_6$
|
|
9019
|
+
}, vue.toDisplayString(val), 9, _hoisted_6$t);
|
|
8937
9020
|
}), 128))
|
|
8938
|
-
], 40, _hoisted_4$
|
|
8939
|
-
setting.displayType === "RADIO" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$
|
|
9021
|
+
], 40, _hoisted_4$v)) : vue.createCommentVNode("", true),
|
|
9022
|
+
setting.displayType === "RADIO" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$t, [
|
|
8940
9023
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(setting.availableValues, (val, index22) => {
|
|
8941
9024
|
return vue.openBlock(), vue.createElementBlock("label", {
|
|
8942
9025
|
key: val,
|
|
@@ -8951,9 +9034,9 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
8951
9034
|
checked: setting.selectedValue === val,
|
|
8952
9035
|
disabled: setting.disabled,
|
|
8953
9036
|
onChange: async (event) => handleAttributeSelect(setting.name, val)
|
|
8954
|
-
}, null, 40, _hoisted_9$
|
|
9037
|
+
}, null, 40, _hoisted_9$p),
|
|
8955
9038
|
vue.createTextVNode(vue.toDisplayString(val), 1)
|
|
8956
|
-
], 10, _hoisted_8$
|
|
9039
|
+
], 10, _hoisted_8$q);
|
|
8957
9040
|
}), 128))
|
|
8958
9041
|
])) : vue.createCommentVNode("", true),
|
|
8959
9042
|
setting.displayType === "COLOR" && setting.attributeType === "COLOR" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$n, [
|
|
@@ -9027,27 +9110,27 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
9027
9110
|
}, vue.toDisplayString(val), 11, _hoisted_19$e);
|
|
9028
9111
|
}), 128))
|
|
9029
9112
|
])) : vue.createCommentVNode("", true)
|
|
9030
|
-
], 8, _hoisted_2$
|
|
9113
|
+
], 8, _hoisted_2$y);
|
|
9031
9114
|
}), 128))
|
|
9032
9115
|
])) : vue.createCommentVNode("", true)
|
|
9033
9116
|
], 2);
|
|
9034
9117
|
};
|
|
9035
9118
|
}
|
|
9036
9119
|
});
|
|
9037
|
-
const _hoisted_1$
|
|
9038
|
-
const _hoisted_2$
|
|
9120
|
+
const _hoisted_1$x = ["data-loading"];
|
|
9121
|
+
const _hoisted_2$x = {
|
|
9039
9122
|
key: 0,
|
|
9040
9123
|
class: "propeller-cluster-info__skeleton animate-pulse space-y-3"
|
|
9041
9124
|
};
|
|
9042
|
-
const _hoisted_3$
|
|
9125
|
+
const _hoisted_3$x = {
|
|
9043
9126
|
key: 0,
|
|
9044
9127
|
class: "text-sm font-mono text-muted-foreground mb-2"
|
|
9045
9128
|
};
|
|
9046
|
-
const _hoisted_4$
|
|
9129
|
+
const _hoisted_4$u = {
|
|
9047
9130
|
key: 1,
|
|
9048
9131
|
class: "text-4xl font-bold tracking-tight text-foreground mb-4"
|
|
9049
9132
|
};
|
|
9050
|
-
const _sfc_main$
|
|
9133
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
9051
9134
|
__name: "ClusterInfo",
|
|
9052
9135
|
props: {
|
|
9053
9136
|
user: {},
|
|
@@ -9133,19 +9216,19 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
9133
9216
|
class: vue.normalizeClass(`propeller-cluster-info ${__props.className || ""}`),
|
|
9134
9217
|
"data-loading": vue.unref(loading) ? "true" : "false"
|
|
9135
9218
|
}, [
|
|
9136
|
-
vue.unref(loading) && !vue.unref(cluster) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
9219
|
+
vue.unref(loading) && !vue.unref(cluster) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, [..._cache[0] || (_cache[0] = [
|
|
9137
9220
|
vue.createElementVNode("div", { class: "propeller-cluster-info__skeleton-line h-4 bg-slate-100 rounded w-1/4" }, null, -1),
|
|
9138
9221
|
vue.createElementVNode("div", { class: "propeller-cluster-info__skeleton-line h-8 bg-slate-100 rounded w-3/4" }, null, -1)
|
|
9139
9222
|
])])) : vue.createCommentVNode("", true),
|
|
9140
9223
|
!vue.unref(loading) || !!vue.unref(cluster) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
9141
|
-
__props.showSku !== false && !!getClusterSku() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
9142
|
-
__props.showTitle !== false && !!getClusterName() ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_4$
|
|
9224
|
+
__props.showSku !== false && !!getClusterSku() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$x, "SKU: " + vue.toDisplayString(getClusterSku()), 1)) : vue.createCommentVNode("", true),
|
|
9225
|
+
__props.showTitle !== false && !!getClusterName() ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_4$u, vue.toDisplayString(getClusterName()), 1)) : vue.createCommentVNode("", true)
|
|
9143
9226
|
], 64)) : vue.createCommentVNode("", true)
|
|
9144
|
-
], 10, _hoisted_1$
|
|
9227
|
+
], 10, _hoisted_1$x);
|
|
9145
9228
|
};
|
|
9146
9229
|
}
|
|
9147
9230
|
});
|
|
9148
|
-
const _sfc_main$
|
|
9231
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
9149
9232
|
__name: "ClusterJsonLd",
|
|
9150
9233
|
props: {
|
|
9151
9234
|
cluster: {},
|
|
@@ -9166,21 +9249,21 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
9166
9249
|
};
|
|
9167
9250
|
}
|
|
9168
9251
|
});
|
|
9169
|
-
const _hoisted_1$
|
|
9252
|
+
const _hoisted_1$w = {
|
|
9170
9253
|
key: 0,
|
|
9171
9254
|
class: "propeller-cluster-options__content flex flex-col gap-6"
|
|
9172
9255
|
};
|
|
9173
|
-
const _hoisted_2$
|
|
9174
|
-
const _hoisted_3$
|
|
9175
|
-
const _hoisted_4$
|
|
9176
|
-
const _hoisted_5$
|
|
9256
|
+
const _hoisted_2$w = ["data-required", "data-error"];
|
|
9257
|
+
const _hoisted_3$w = { class: "propeller-cluster-options__label-row flex items-center gap-2 mb-2" };
|
|
9258
|
+
const _hoisted_4$t = { class: "propeller-cluster-options__label font-semibold text-sm text-muted-foreground" };
|
|
9259
|
+
const _hoisted_5$t = {
|
|
9177
9260
|
key: 0,
|
|
9178
9261
|
class: "propeller-cluster-options__required-badge inline-flex items-center rounded-full bg-destructive/10 px-2 py-0.5 text-xs font-medium text-destructive ring-1 ring-inset ring-destructive/10"
|
|
9179
9262
|
};
|
|
9180
|
-
const _hoisted_6$
|
|
9181
|
-
const _hoisted_7$
|
|
9182
|
-
const _hoisted_8$
|
|
9183
|
-
const _hoisted_9$
|
|
9263
|
+
const _hoisted_6$s = ["value", "onChange"];
|
|
9264
|
+
const _hoisted_7$s = { value: "" };
|
|
9265
|
+
const _hoisted_8$p = ["value"];
|
|
9266
|
+
const _hoisted_9$o = {
|
|
9184
9267
|
key: 0,
|
|
9185
9268
|
class: "propeller-cluster-options__error mt-1 text-xs text-destructive"
|
|
9186
9269
|
};
|
|
@@ -9196,7 +9279,7 @@ const _hoisted_12$k = {
|
|
|
9196
9279
|
const _hoisted_13$i = { class: "min-w-0 flex-1" };
|
|
9197
9280
|
const _hoisted_14$i = { class: "propeller-cluster-options__preview-name truncate text-sm font-medium text-foreground" };
|
|
9198
9281
|
const _hoisted_15$h = { class: "propeller-cluster-options__preview-price text-sm font-semibold text-secondary" };
|
|
9199
|
-
const _sfc_main$
|
|
9282
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
9200
9283
|
__name: "ClusterOptions",
|
|
9201
9284
|
props: {
|
|
9202
9285
|
clusterId: {},
|
|
@@ -9293,7 +9376,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
9293
9376
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
9294
9377
|
class: vue.normalizeClass(`propeller-cluster-options ${__props.className || ""}`)
|
|
9295
9378
|
}, [
|
|
9296
|
-
getOptionsForRender().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
9379
|
+
getOptionsForRender().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
|
|
9297
9380
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getOptionsForRender(), (option, index2) => {
|
|
9298
9381
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
9299
9382
|
key: option.id,
|
|
@@ -9301,16 +9384,16 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
9301
9384
|
"data-required": option.isRequired ? "true" : "false",
|
|
9302
9385
|
"data-error": option.hasError ? "true" : "false"
|
|
9303
9386
|
}, [
|
|
9304
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
9305
|
-
vue.createElementVNode("h4", _hoisted_4$
|
|
9306
|
-
option.isRequired ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
9387
|
+
vue.createElementVNode("div", _hoisted_3$w, [
|
|
9388
|
+
vue.createElementVNode("h4", _hoisted_4$t, vue.toDisplayString(option.name), 1),
|
|
9389
|
+
option.isRequired ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$t, vue.toDisplayString(getLabel("required", "Required")), 1)) : vue.createCommentVNode("", true)
|
|
9307
9390
|
]),
|
|
9308
9391
|
vue.createElementVNode("select", {
|
|
9309
9392
|
value: option.selectedProductId,
|
|
9310
9393
|
onChange: async (e) => handleOptionChange(option.idStr, e.target.value),
|
|
9311
9394
|
class: vue.normalizeClass(`propeller-cluster-options__select w-full rounded-[var(--radius-container)] border px-3 py-2 text-sm focus:outline-none focus:ring-2 cursor-pointer ${option.hasError ? "border-destructive focus:ring-destructive" : option.isRequired ? "border-input focus:ring-secondary" : "border-border focus:ring-secondary"}`)
|
|
9312
9395
|
}, [
|
|
9313
|
-
vue.createElementVNode("option", _hoisted_7$
|
|
9396
|
+
vue.createElementVNode("option", _hoisted_7$s, [
|
|
9314
9397
|
option.isRequired ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
9315
9398
|
vue.createTextVNode(vue.toDisplayString(getLabel("selectRequired", "— Select an option —")), 1)
|
|
9316
9399
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
@@ -9321,10 +9404,10 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
9321
9404
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
9322
9405
|
key: product.productId,
|
|
9323
9406
|
value: product.productIdStr
|
|
9324
|
-
}, vue.toDisplayString(product.label), 9, _hoisted_8$
|
|
9407
|
+
}, vue.toDisplayString(product.label), 9, _hoisted_8$p);
|
|
9325
9408
|
}), 128))
|
|
9326
|
-
], 42, _hoisted_6$
|
|
9327
|
-
option.hasError ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$
|
|
9409
|
+
], 42, _hoisted_6$s),
|
|
9410
|
+
option.hasError ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$o, vue.toDisplayString(getLabel("requiredError", "This option is required")), 1)) : vue.createCommentVNode("", true),
|
|
9328
9411
|
option.hasSelection ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$m, [
|
|
9329
9412
|
!!option.previewImageUrl ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
9330
9413
|
key: 0,
|
|
@@ -9352,20 +9435,20 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
9352
9435
|
vue.createElementVNode("p", _hoisted_15$h, vue.toDisplayString(option.previewPrice), 1)
|
|
9353
9436
|
])
|
|
9354
9437
|
])) : vue.createCommentVNode("", true)
|
|
9355
|
-
], 8, _hoisted_2$
|
|
9438
|
+
], 8, _hoisted_2$w);
|
|
9356
9439
|
}), 128))
|
|
9357
9440
|
])) : vue.createCommentVNode("", true)
|
|
9358
9441
|
], 2);
|
|
9359
9442
|
};
|
|
9360
9443
|
}
|
|
9361
9444
|
});
|
|
9362
|
-
const _hoisted_1$
|
|
9363
|
-
const _hoisted_2$
|
|
9364
|
-
const _hoisted_3$
|
|
9365
|
-
const _hoisted_4$
|
|
9366
|
-
const _hoisted_5$
|
|
9367
|
-
const _hoisted_6$
|
|
9368
|
-
const _hoisted_7$
|
|
9445
|
+
const _hoisted_1$v = ["data-open"];
|
|
9446
|
+
const _hoisted_2$v = ["aria-label", "aria-expanded"];
|
|
9447
|
+
const _hoisted_3$v = { class: "propeller-company-switcher__label truncate max-w-[160px]" };
|
|
9448
|
+
const _hoisted_4$s = ["aria-label"];
|
|
9449
|
+
const _hoisted_5$s = ["aria-selected", "onClick"];
|
|
9450
|
+
const _hoisted_6$r = { class: "propeller-company-switcher__option-name flex-1 truncate" };
|
|
9451
|
+
const _hoisted_7$r = {
|
|
9369
9452
|
key: 0,
|
|
9370
9453
|
viewBox: "0 0 16 16",
|
|
9371
9454
|
fill: "none",
|
|
@@ -9376,7 +9459,7 @@ const _hoisted_7$q = {
|
|
|
9376
9459
|
"aria-hidden": "true",
|
|
9377
9460
|
class: "propeller-company-switcher__option-check flex-shrink-0 w-4 h-4 text-primary"
|
|
9378
9461
|
};
|
|
9379
|
-
const _sfc_main$
|
|
9462
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
9380
9463
|
__name: "CompanySwitcher",
|
|
9381
9464
|
props: {
|
|
9382
9465
|
user: {},
|
|
@@ -9470,7 +9553,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
9470
9553
|
"aria-hidden": "true",
|
|
9471
9554
|
class: vue.normalizeClass(`propeller-company-switcher__icon icon-${getIcon()} flex-shrink-0`)
|
|
9472
9555
|
}, null, 2),
|
|
9473
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
9556
|
+
vue.createElementVNode("span", _hoisted_3$v, vue.toDisplayString(getActiveCompanyName()), 1),
|
|
9474
9557
|
vue.createElementVNode("span", {
|
|
9475
9558
|
"aria-hidden": "true",
|
|
9476
9559
|
class: vue.normalizeClass(`propeller-company-switcher__chevron flex-shrink-0 transition-transform duration-200 ${isOpen.value ? "rotate-180" : "rotate-0"}`)
|
|
@@ -9488,7 +9571,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
9488
9571
|
vue.createElementVNode("path", { d: "M2 4l4 4 4-4" })
|
|
9489
9572
|
], -1)
|
|
9490
9573
|
])], 2)
|
|
9491
|
-
], 8, _hoisted_2$
|
|
9574
|
+
], 8, _hoisted_2$v),
|
|
9492
9575
|
isOpen.value ? (vue.openBlock(), vue.createElementBlock("ul", {
|
|
9493
9576
|
key: 0,
|
|
9494
9577
|
role: "listbox",
|
|
@@ -9503,32 +9586,32 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
9503
9586
|
onClick: async (event) => selectCompany(company),
|
|
9504
9587
|
class: vue.normalizeClass(`propeller-company-switcher__option flex items-center gap-3 px-4 py-2.5 text-sm cursor-pointer transition-colors hover:bg-accent hover:text-accent-foreground ${isActive(company) ? "font-semibold text-primary" : "font-normal text-foreground"}`)
|
|
9505
9588
|
}, [
|
|
9506
|
-
vue.createElementVNode("span", _hoisted_6$
|
|
9507
|
-
isActive(company) ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_7$
|
|
9589
|
+
vue.createElementVNode("span", _hoisted_6$r, vue.toDisplayString(company.name), 1),
|
|
9590
|
+
isActive(company) ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_7$r, [..._cache[2] || (_cache[2] = [
|
|
9508
9591
|
vue.createElementVNode("path", { d: "M2.5 8l4 4 7-7" }, null, -1)
|
|
9509
9592
|
])])) : vue.createCommentVNode("", true)
|
|
9510
|
-
], 10, _hoisted_5$
|
|
9593
|
+
], 10, _hoisted_5$s);
|
|
9511
9594
|
}), 128))
|
|
9512
|
-
], 8, _hoisted_4$
|
|
9513
|
-
], 8, _hoisted_1$
|
|
9595
|
+
], 8, _hoisted_4$s)) : vue.createCommentVNode("", true)
|
|
9596
|
+
], 8, _hoisted_1$v);
|
|
9514
9597
|
};
|
|
9515
9598
|
}
|
|
9516
9599
|
});
|
|
9517
|
-
const _hoisted_1$
|
|
9518
|
-
const _hoisted_2$
|
|
9519
|
-
const _hoisted_3$
|
|
9520
|
-
const _hoisted_4$
|
|
9521
|
-
const _hoisted_5$
|
|
9600
|
+
const _hoisted_1$u = { class: "propeller-delivery-date__grid grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-3" };
|
|
9601
|
+
const _hoisted_2$u = ["onClick", "data-selected"];
|
|
9602
|
+
const _hoisted_3$u = { class: "propeller-delivery-date__option-label font-semibold" };
|
|
9603
|
+
const _hoisted_4$r = ["data-selected"];
|
|
9604
|
+
const _hoisted_5$r = {
|
|
9522
9605
|
key: 0,
|
|
9523
9606
|
class: "propeller-delivery-date__option-label font-semibold"
|
|
9524
9607
|
};
|
|
9525
|
-
const _hoisted_6$
|
|
9608
|
+
const _hoisted_6$q = {
|
|
9526
9609
|
key: 1,
|
|
9527
9610
|
class: "propeller-delivery-date__option-label font-semibold"
|
|
9528
9611
|
};
|
|
9529
|
-
const _hoisted_7$
|
|
9530
|
-
const _hoisted_8$
|
|
9531
|
-
const _hoisted_9$
|
|
9612
|
+
const _hoisted_7$q = { class: "propeller-delivery-date__modal-content bg-card rounded-xl shadow-xl p-6 w-full max-w-sm mx-4" };
|
|
9613
|
+
const _hoisted_8$o = { class: "propeller-delivery-date__modal-header flex justify-between items-center mb-4" };
|
|
9614
|
+
const _hoisted_9$n = { class: "propeller-delivery-date__modal-title text-lg font-semibold" };
|
|
9532
9615
|
const _hoisted_10$l = ["min", "value"];
|
|
9533
9616
|
const _hoisted_11$j = {
|
|
9534
9617
|
key: 0,
|
|
@@ -9536,7 +9619,7 @@ const _hoisted_11$j = {
|
|
|
9536
9619
|
role: "alert"
|
|
9537
9620
|
};
|
|
9538
9621
|
const _hoisted_12$j = { class: "propeller-delivery-date__modal-actions flex justify-end gap-3 mt-4" };
|
|
9539
|
-
const _sfc_main$
|
|
9622
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
9540
9623
|
__name: "DeliveryDate",
|
|
9541
9624
|
props: {
|
|
9542
9625
|
cart: {},
|
|
@@ -9701,7 +9784,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
9701
9784
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
9702
9785
|
class: vue.normalizeClass(`propeller-delivery-date ${containerClass.value}`)
|
|
9703
9786
|
}, [
|
|
9704
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
9787
|
+
vue.createElementVNode("div", _hoisted_1$u, [
|
|
9705
9788
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(upcomingDates.value, (dateStr, index2) => {
|
|
9706
9789
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
9707
9790
|
key: index2,
|
|
@@ -9709,8 +9792,8 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
9709
9792
|
"data-selected": selectedDayKey.value !== "" && upcomingDayKeys.value[index2] === selectedDayKey.value ? "true" : "false",
|
|
9710
9793
|
class: vue.normalizeClass(`propeller-delivery-date__option cursor-pointer border border-border rounded-[var(--radius-container)] p-3 text-center transition-all ${selectedDayKey.value !== "" && upcomingDayKeys.value[index2] === selectedDayKey.value ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
|
|
9711
9794
|
}, [
|
|
9712
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
9713
|
-
], 10, _hoisted_2$
|
|
9795
|
+
vue.createElementVNode("div", _hoisted_3$u, vue.toDisplayString(formatDisplay(dateStr)), 1)
|
|
9796
|
+
], 10, _hoisted_2$u);
|
|
9714
9797
|
}), 128)),
|
|
9715
9798
|
showDatePicker.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
9716
9799
|
key: 0,
|
|
@@ -9719,18 +9802,18 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
9719
9802
|
"data-custom": "true",
|
|
9720
9803
|
class: vue.normalizeClass(`propeller-delivery-date__option propeller-delivery-date__option--custom cursor-pointer border border-border rounded-[var(--radius-container)] p-3 text-center transition-all ${isCustomDateSelected.value ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
|
|
9721
9804
|
}, [
|
|
9722
|
-
isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
9723
|
-
!isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$
|
|
9724
|
-
], 10, _hoisted_4$
|
|
9805
|
+
isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$r, vue.toDisplayString(formatDisplay(selectedDate.value)), 1)) : vue.createCommentVNode("", true),
|
|
9806
|
+
!isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$q, vue.toDisplayString(getLabel("pickDate", "Other date...")), 1)) : vue.createCommentVNode("", true)
|
|
9807
|
+
], 10, _hoisted_4$r)) : vue.createCommentVNode("", true)
|
|
9725
9808
|
]),
|
|
9726
9809
|
modalOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
9727
9810
|
key: 0,
|
|
9728
9811
|
class: "propeller-delivery-date__modal fixed inset-0 z-50 flex items-center justify-center bg-black/50",
|
|
9729
9812
|
onClick: _cache[4] || (_cache[4] = async (event) => handleBackdropClick(event))
|
|
9730
9813
|
}, [
|
|
9731
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
9732
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
9733
|
-
vue.createElementVNode("h3", _hoisted_9$
|
|
9814
|
+
vue.createElementVNode("div", _hoisted_7$q, [
|
|
9815
|
+
vue.createElementVNode("div", _hoisted_8$o, [
|
|
9816
|
+
vue.createElementVNode("h3", _hoisted_9$n, vue.toDisplayString(getLabel("modalTitle", "Select a delivery date")), 1),
|
|
9734
9817
|
vue.createElementVNode("button", {
|
|
9735
9818
|
type: "button",
|
|
9736
9819
|
class: "propeller-delivery-date__modal-close text-foreground-subtle hover:text-muted-foreground transition-colors",
|
|
@@ -9772,24 +9855,24 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
9772
9855
|
};
|
|
9773
9856
|
}
|
|
9774
9857
|
});
|
|
9775
|
-
const _hoisted_1$
|
|
9776
|
-
const _hoisted_2$
|
|
9777
|
-
const _hoisted_3$
|
|
9778
|
-
const _hoisted_4$
|
|
9779
|
-
const _hoisted_5$
|
|
9858
|
+
const _hoisted_1$t = ["data-type"];
|
|
9859
|
+
const _hoisted_2$t = { class: "propeller-favorite-list-item__media relative w-16 h-16 flex-shrink-0 overflow-hidden rounded-[var(--radius-control)] bg-surface-hover p-1" };
|
|
9860
|
+
const _hoisted_3$t = ["href"];
|
|
9861
|
+
const _hoisted_4$q = ["src", "alt"];
|
|
9862
|
+
const _hoisted_5$q = {
|
|
9780
9863
|
key: 1,
|
|
9781
9864
|
class: "propeller-favorite-list-item__image-placeholder flex h-full w-full items-center justify-center text-foreground-subtle"
|
|
9782
9865
|
};
|
|
9783
|
-
const _hoisted_6$
|
|
9866
|
+
const _hoisted_6$p = {
|
|
9784
9867
|
key: 1,
|
|
9785
9868
|
class: "block h-full w-full"
|
|
9786
9869
|
};
|
|
9787
|
-
const _hoisted_7$
|
|
9788
|
-
const _hoisted_8$
|
|
9870
|
+
const _hoisted_7$p = ["src", "alt"];
|
|
9871
|
+
const _hoisted_8$n = {
|
|
9789
9872
|
key: 1,
|
|
9790
9873
|
class: "propeller-favorite-list-item__image-placeholder flex h-full w-full items-center justify-center text-foreground-subtle"
|
|
9791
9874
|
};
|
|
9792
|
-
const _hoisted_9$
|
|
9875
|
+
const _hoisted_9$m = { class: "propeller-favorite-list-item__body flex flex-col gap-0.5 min-w-0 flex-1" };
|
|
9793
9876
|
const _hoisted_10$k = { class: "propeller-favorite-list-item__sku font-mono text-xs text-foreground-subtle" };
|
|
9794
9877
|
const _hoisted_11$i = ["href"];
|
|
9795
9878
|
const _hoisted_12$i = {
|
|
@@ -9822,7 +9905,7 @@ const _hoisted_17$g = {
|
|
|
9822
9905
|
const _hoisted_18$e = { class: "propeller-favorite-list-item__price text-base font-bold text-foreground whitespace-nowrap flex-shrink-0" };
|
|
9823
9906
|
const _hoisted_19$d = ["href"];
|
|
9824
9907
|
const _hoisted_20$c = ["title"];
|
|
9825
|
-
const _sfc_main$
|
|
9908
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
9826
9909
|
__name: "FavoriteListItem",
|
|
9827
9910
|
props: {
|
|
9828
9911
|
item: {},
|
|
@@ -9930,7 +10013,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
9930
10013
|
"data-type": isProduct() ? "product" : "cluster",
|
|
9931
10014
|
class: vue.normalizeClass(`propeller-favorite-list-item flex flex-row items-center gap-4 rounded-[var(--radius-container)] border border-border bg-card p-4 transition-colors hover:border-secondary/20 hover:shadow-sm cursor-pointer ${__props.className || ""}`)
|
|
9932
10015
|
}, [
|
|
9933
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
10016
|
+
vue.createElementVNode("div", _hoisted_2$t, [
|
|
9934
10017
|
vue.renderSlot(_ctx.$slots, getName(), {
|
|
9935
10018
|
item: __props.item,
|
|
9936
10019
|
imageUrl: getImageUrl(),
|
|
@@ -9949,8 +10032,8 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
9949
10032
|
class: "propeller-favorite-list-item__image h-full w-full object-contain",
|
|
9950
10033
|
src: getImageUrl(),
|
|
9951
10034
|
alt: getName()
|
|
9952
|
-
}, null, 8, _hoisted_4$
|
|
9953
|
-
!getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
10035
|
+
}, null, 8, _hoisted_4$q)) : vue.createCommentVNode("", true),
|
|
10036
|
+
!getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$q, [..._cache[6] || (_cache[6] = [
|
|
9954
10037
|
vue.createElementVNode("svg", {
|
|
9955
10038
|
fill: "none",
|
|
9956
10039
|
stroke: "currentColor",
|
|
@@ -9965,15 +10048,15 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
9965
10048
|
})
|
|
9966
10049
|
], -1)
|
|
9967
10050
|
])])) : vue.createCommentVNode("", true)
|
|
9968
|
-
], 8, _hoisted_3$
|
|
9969
|
-
__props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$
|
|
10051
|
+
], 8, _hoisted_3$t)) : vue.createCommentVNode("", true),
|
|
10052
|
+
__props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$p, [
|
|
9970
10053
|
!!getImageUrl() ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
9971
10054
|
key: 0,
|
|
9972
10055
|
class: "propeller-favorite-list-item__image h-full w-full object-contain",
|
|
9973
10056
|
src: getImageUrl(),
|
|
9974
10057
|
alt: getName()
|
|
9975
|
-
}, null, 8, _hoisted_7$
|
|
9976
|
-
!getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
10058
|
+
}, null, 8, _hoisted_7$p)) : vue.createCommentVNode("", true),
|
|
10059
|
+
!getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$n, [..._cache[7] || (_cache[7] = [
|
|
9977
10060
|
vue.createElementVNode("svg", {
|
|
9978
10061
|
fill: "none",
|
|
9979
10062
|
stroke: "currentColor",
|
|
@@ -9991,7 +10074,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
9991
10074
|
])) : vue.createCommentVNode("", true)
|
|
9992
10075
|
])
|
|
9993
10076
|
]),
|
|
9994
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
10077
|
+
vue.createElementVNode("div", _hoisted_9$m, [
|
|
9995
10078
|
__props.showSku !== false && !!getSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
9996
10079
|
key: 0,
|
|
9997
10080
|
item: __props.item,
|
|
@@ -10057,7 +10140,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
10057
10140
|
handleItemClick,
|
|
10058
10141
|
labels: __props.labels
|
|
10059
10142
|
}, () => [
|
|
10060
|
-
__props.allowAddToCart !== false && isProduct() && !!__props.graphqlClient ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10143
|
+
__props.allowAddToCart !== false && isProduct() && !!__props.graphqlClient ? (vue.openBlock(), vue.createBlock(_sfc_main$R, {
|
|
10061
10144
|
key: 0,
|
|
10062
10145
|
graphqlClient: __props.graphqlClient,
|
|
10063
10146
|
user: __props.user || null,
|
|
@@ -10107,30 +10190,30 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
10107
10190
|
])], 8, _hoisted_20$c)) : vue.createCommentVNode("", true)
|
|
10108
10191
|
])
|
|
10109
10192
|
])
|
|
10110
|
-
], 10, _hoisted_1$
|
|
10193
|
+
], 10, _hoisted_1$t);
|
|
10111
10194
|
};
|
|
10112
10195
|
}
|
|
10113
10196
|
});
|
|
10114
|
-
const _hoisted_1$
|
|
10115
|
-
const _hoisted_2$
|
|
10197
|
+
const _hoisted_1$s = ["data-variant"];
|
|
10198
|
+
const _hoisted_2$s = {
|
|
10116
10199
|
key: 0,
|
|
10117
10200
|
class: "propeller-grid-pagination__compact flex justify-center items-center gap-2"
|
|
10118
10201
|
};
|
|
10119
|
-
const _hoisted_3$
|
|
10120
|
-
const _hoisted_4$
|
|
10121
|
-
const _hoisted_5$
|
|
10122
|
-
const _hoisted_6$
|
|
10202
|
+
const _hoisted_3$s = ["disabled"];
|
|
10203
|
+
const _hoisted_4$p = { class: "propeller-grid-pagination__info px-2 text-sm font-medium text-muted-foreground" };
|
|
10204
|
+
const _hoisted_5$p = ["disabled"];
|
|
10205
|
+
const _hoisted_6$o = {
|
|
10123
10206
|
key: 1,
|
|
10124
10207
|
class: "propeller-grid-pagination__full flex justify-center items-center gap-1 flex-wrap"
|
|
10125
10208
|
};
|
|
10126
|
-
const _hoisted_7$
|
|
10127
|
-
const _hoisted_8$
|
|
10209
|
+
const _hoisted_7$o = ["disabled"];
|
|
10210
|
+
const _hoisted_8$m = {
|
|
10128
10211
|
key: 0,
|
|
10129
10212
|
class: "propeller-grid-pagination__dots inline-flex items-center justify-center min-w-[2rem] px-1 py-2 text-sm text-muted-foreground select-none"
|
|
10130
10213
|
};
|
|
10131
|
-
const _hoisted_9$
|
|
10214
|
+
const _hoisted_9$l = ["onClick", "data-active"];
|
|
10132
10215
|
const _hoisted_10$j = ["disabled"];
|
|
10133
|
-
const _sfc_main$
|
|
10216
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
10134
10217
|
__name: "GridPagination",
|
|
10135
10218
|
props: {
|
|
10136
10219
|
products: {},
|
|
@@ -10220,34 +10303,34 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
10220
10303
|
"data-variant": __props.variant || "compact"
|
|
10221
10304
|
}, [
|
|
10222
10305
|
showPagination() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
10223
|
-
(__props.variant || "compact") === "compact" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
10306
|
+
(__props.variant || "compact") === "compact" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$s, [
|
|
10224
10307
|
vue.createElementVNode("button", {
|
|
10225
10308
|
type: "button",
|
|
10226
10309
|
class: "propeller-grid-pagination__btn propeller-grid-pagination__btn--prev inline-flex items-center rounded-[var(--radius-control)] border border-input bg-card px-4 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed",
|
|
10227
10310
|
disabled: getCurrentPage() === 1,
|
|
10228
10311
|
onClick: _cache[0] || (_cache[0] = async (event) => handlePageChange(getCurrentPage() - 1))
|
|
10229
|
-
}, vue.toDisplayString(getLabel("previous")), 9, _hoisted_3$
|
|
10230
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
10312
|
+
}, vue.toDisplayString(getLabel("previous")), 9, _hoisted_3$s),
|
|
10313
|
+
vue.createElementVNode("span", _hoisted_4$p, vue.toDisplayString(getLabel("page")) + " " + vue.toDisplayString(getCurrentPage()) + " " + vue.toDisplayString(getLabel("of")) + " " + vue.toDisplayString(getTotalPages()), 1),
|
|
10231
10314
|
vue.createElementVNode("button", {
|
|
10232
10315
|
type: "button",
|
|
10233
10316
|
class: "propeller-grid-pagination__btn propeller-grid-pagination__btn--next inline-flex items-center rounded-[var(--radius-control)] border border-input bg-card px-4 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed",
|
|
10234
10317
|
disabled: getCurrentPage() === getTotalPages(),
|
|
10235
10318
|
onClick: _cache[1] || (_cache[1] = async (event) => handlePageChange(getCurrentPage() + 1))
|
|
10236
|
-
}, vue.toDisplayString(getLabel("next")), 9, _hoisted_5$
|
|
10319
|
+
}, vue.toDisplayString(getLabel("next")), 9, _hoisted_5$p)
|
|
10237
10320
|
])) : vue.createCommentVNode("", true),
|
|
10238
|
-
(__props.variant || "compact") === "full" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$
|
|
10321
|
+
(__props.variant || "compact") === "full" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$o, [
|
|
10239
10322
|
vue.createElementVNode("button", {
|
|
10240
10323
|
type: "button",
|
|
10241
10324
|
class: "propeller-grid-pagination__btn propeller-grid-pagination__btn--prev inline-flex items-center rounded-[var(--radius-control)] border border-input bg-card px-3 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed",
|
|
10242
10325
|
disabled: getCurrentPage() === 1,
|
|
10243
10326
|
onClick: _cache[2] || (_cache[2] = async (event) => handlePageChange(getCurrentPage() - 1))
|
|
10244
|
-
}, vue.toDisplayString(getLabel("previous")), 9, _hoisted_7$
|
|
10327
|
+
}, vue.toDisplayString(getLabel("previous")), 9, _hoisted_7$o),
|
|
10245
10328
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getFullPages(), (item, idx) => {
|
|
10246
10329
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
10247
10330
|
key: item.type === "dots" ? `dots-${idx}` : `page-${item.value}`,
|
|
10248
10331
|
class: "propeller-grid-pagination__page-wrapper inline-flex"
|
|
10249
10332
|
}, [
|
|
10250
|
-
item.type === "dots" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$
|
|
10333
|
+
item.type === "dots" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$m, " ... ")) : vue.createCommentVNode("", true),
|
|
10251
10334
|
item.type === "page" ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
10252
10335
|
key: 1,
|
|
10253
10336
|
type: "button",
|
|
@@ -10256,7 +10339,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
10256
10339
|
class: vue.normalizeClass(
|
|
10257
10340
|
item.value === getCurrentPage() ? "propeller-grid-pagination__page inline-flex items-center justify-center min-w-[2.25rem] rounded-[var(--radius-control)] border border-primary bg-primary px-3 py-2 text-sm font-semibold text-primary-foreground shadow-sm" : "propeller-grid-pagination__page inline-flex items-center justify-center min-w-[2.25rem] rounded-[var(--radius-control)] border border-input bg-card px-3 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover"
|
|
10258
10341
|
)
|
|
10259
|
-
}, vue.toDisplayString(item.value), 11, _hoisted_9$
|
|
10342
|
+
}, vue.toDisplayString(item.value), 11, _hoisted_9$l)) : vue.createCommentVNode("", true)
|
|
10260
10343
|
]);
|
|
10261
10344
|
}), 128)),
|
|
10262
10345
|
vue.createElementVNode("button", {
|
|
@@ -10267,28 +10350,28 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
10267
10350
|
}, vue.toDisplayString(getLabel("next")), 9, _hoisted_10$j)
|
|
10268
10351
|
])) : vue.createCommentVNode("", true)
|
|
10269
10352
|
], 64)) : vue.createCommentVNode("", true)
|
|
10270
|
-
], 10, _hoisted_1$
|
|
10353
|
+
], 10, _hoisted_1$s);
|
|
10271
10354
|
};
|
|
10272
10355
|
}
|
|
10273
10356
|
});
|
|
10274
|
-
const _hoisted_1$
|
|
10275
|
-
const _hoisted_2$
|
|
10357
|
+
const _hoisted_1$r = ["data-loading"];
|
|
10358
|
+
const _hoisted_2$r = {
|
|
10276
10359
|
key: 0,
|
|
10277
10360
|
class: "propeller-favorite-list-details__skeleton space-y-4"
|
|
10278
10361
|
};
|
|
10279
|
-
const _hoisted_3$
|
|
10362
|
+
const _hoisted_3$r = {
|
|
10280
10363
|
key: 0,
|
|
10281
10364
|
class: "propeller-favorite-list-details__list space-y-3"
|
|
10282
10365
|
};
|
|
10283
|
-
const _hoisted_4$
|
|
10284
|
-
const _hoisted_5$
|
|
10285
|
-
const _hoisted_6$
|
|
10366
|
+
const _hoisted_4$o = { class: "propeller-favorite-list-details__select-all flex items-center gap-2 pb-2" };
|
|
10367
|
+
const _hoisted_5$o = ["checked"];
|
|
10368
|
+
const _hoisted_6$n = {
|
|
10286
10369
|
for: "favorite-list-select-all-top",
|
|
10287
10370
|
class: "propeller-favorite-list-details__select-all-label text-sm font-medium cursor-pointer select-none"
|
|
10288
10371
|
};
|
|
10289
|
-
const _hoisted_7$
|
|
10290
|
-
const _hoisted_8$
|
|
10291
|
-
const _hoisted_9$
|
|
10372
|
+
const _hoisted_7$n = ["data-selected"];
|
|
10373
|
+
const _hoisted_8$l = ["checked", "onChange", "aria-label"];
|
|
10374
|
+
const _hoisted_9$k = { class: "propeller-favorite-list-details__row-item flex-1 min-w-0" };
|
|
10292
10375
|
const _hoisted_10$i = {
|
|
10293
10376
|
key: 0,
|
|
10294
10377
|
class: "propeller-favorite-list-details__pagination mt-6"
|
|
@@ -10314,11 +10397,11 @@ const _hoisted_19$c = {
|
|
|
10314
10397
|
const _hoisted_20$b = { class: "propeller-favorite-list-details__floating-bar-count text-sm text-foreground-subtle ml-3" };
|
|
10315
10398
|
const _hoisted_21$b = { class: "propeller-favorite-list-details__floating-bar-actions flex items-center gap-3" };
|
|
10316
10399
|
const _hoisted_22$b = ["disabled"];
|
|
10317
|
-
const _hoisted_23$
|
|
10318
|
-
const _hoisted_24$
|
|
10319
|
-
const _hoisted_25$
|
|
10320
|
-
const _hoisted_26$
|
|
10321
|
-
const _hoisted_27$
|
|
10400
|
+
const _hoisted_23$b = ["disabled"];
|
|
10401
|
+
const _hoisted_24$b = { class: "propeller-favorite-list-details__modal-header border-b border-border px-6 py-4" };
|
|
10402
|
+
const _hoisted_25$b = { class: "propeller-favorite-list-details__modal-title text-lg font-bold" };
|
|
10403
|
+
const _hoisted_26$b = { class: "propeller-favorite-list-details__modal-body px-6 py-4 space-y-4" };
|
|
10404
|
+
const _hoisted_27$b = { class: "propeller-favorite-list-details__search-input-wrapper relative" };
|
|
10322
10405
|
const _hoisted_28$a = ["placeholder", "value"];
|
|
10323
10406
|
const _hoisted_29$a = ["aria-label"];
|
|
10324
10407
|
const _hoisted_30$a = { class: "propeller-favorite-list-details__search-results max-h-80 overflow-y-auto" };
|
|
@@ -10365,7 +10448,7 @@ const _hoisted_42$9 = {
|
|
|
10365
10448
|
class: "propeller-favorite-list-details__search-item-spinner text-xs text-foreground-subtle"
|
|
10366
10449
|
};
|
|
10367
10450
|
const _hoisted_43$9 = { class: "propeller-favorite-list-details__modal-footer border-t border-border px-6 py-4 flex justify-end" };
|
|
10368
|
-
const _sfc_main$
|
|
10451
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
10369
10452
|
__name: "FavoriteListDetails",
|
|
10370
10453
|
props: {
|
|
10371
10454
|
graphqlClient: {},
|
|
@@ -10410,8 +10493,8 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10410
10493
|
setup(__props) {
|
|
10411
10494
|
const props = __props;
|
|
10412
10495
|
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
10413
|
-
const FavoriteListItemImpl = vue.computed(() => props.favoriteListItemComponent ?? _sfc_main$
|
|
10414
|
-
const GridPaginationImpl = vue.computed(() => props.gridPaginationComponent ?? _sfc_main$
|
|
10496
|
+
const FavoriteListItemImpl = vue.computed(() => props.favoriteListItemComponent ?? _sfc_main$v);
|
|
10497
|
+
const GridPaginationImpl = vue.computed(() => props.gridPaginationComponent ?? _sfc_main$u);
|
|
10415
10498
|
const loading = vue.ref(true);
|
|
10416
10499
|
const favoriteList = vue.ref(null);
|
|
10417
10500
|
const allItems = vue.ref([]);
|
|
@@ -10728,7 +10811,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10728
10811
|
class: vue.normalizeClass(`propeller-favorite-list-details ${__props.className || ""}`),
|
|
10729
10812
|
"data-loading": loading.value ? "true" : "false"
|
|
10730
10813
|
}, [
|
|
10731
|
-
loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
10814
|
+
loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$r, [
|
|
10732
10815
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList([1, 2, 3], (i, index2) => {
|
|
10733
10816
|
return vue.createElementVNode("div", {
|
|
10734
10817
|
key: i,
|
|
@@ -10739,16 +10822,16 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10739
10822
|
}), 64))
|
|
10740
10823
|
])) : vue.createCommentVNode("", true),
|
|
10741
10824
|
!loading.value && isMounted.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
10742
|
-
allItems.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
10743
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
10825
|
+
allItems.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$r, [
|
|
10826
|
+
vue.createElementVNode("div", _hoisted_4$o, [
|
|
10744
10827
|
vue.createElementVNode("input", {
|
|
10745
10828
|
id: "favorite-list-select-all-top",
|
|
10746
10829
|
type: "checkbox",
|
|
10747
10830
|
class: "propeller-favorite-list-details__select-all-checkbox h-4 w-4 rounded border-border accent-secondary cursor-pointer",
|
|
10748
10831
|
checked: isAllPageSelected(),
|
|
10749
10832
|
onChange: _cache[0] || (_cache[0] = ($event) => togglePageSelectAll())
|
|
10750
|
-
}, null, 40, _hoisted_5$
|
|
10751
|
-
vue.createElementVNode("label", _hoisted_6$
|
|
10833
|
+
}, null, 40, _hoisted_5$o),
|
|
10834
|
+
vue.createElementVNode("label", _hoisted_6$n, vue.toDisplayString(getLabel("selectAll", "Select all")), 1)
|
|
10752
10835
|
]),
|
|
10753
10836
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getPagedItems(), (item, idx) => {
|
|
10754
10837
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -10762,8 +10845,8 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10762
10845
|
checked: isRowSelected(item),
|
|
10763
10846
|
onChange: ($event) => toggleRow(item),
|
|
10764
10847
|
"aria-label": getLabel("selectItem", "Select item")
|
|
10765
|
-
}, null, 40, _hoisted_8$
|
|
10766
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
10848
|
+
}, null, 40, _hoisted_8$l),
|
|
10849
|
+
vue.createElementVNode("div", _hoisted_9$k, [
|
|
10767
10850
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(FavoriteListItemImpl.value), {
|
|
10768
10851
|
item,
|
|
10769
10852
|
graphqlClient: __props.graphqlClient,
|
|
@@ -10795,7 +10878,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10795
10878
|
includeTax: __props.includeTax
|
|
10796
10879
|
}, null, 40, ["item", "graphqlClient", "user", "cartId", "createCart", "onCartCreated", "onAddToCart", "afterAddToCart", "showModal", "allowIncrDecr", "enableStockValidation", "language", "onProceedToCheckout", "onRequestQuoteClick", "addToCartLabels", "stockLabels", "labels", "configuration", "titleLinkable", "showStockComponent", "showAvailability", "showStock", "showSku", "allowAddToCart", "showDelete", "onDelete", "onItemClick", "includeTax"]))
|
|
10797
10880
|
])
|
|
10798
|
-
], 8, _hoisted_7$
|
|
10881
|
+
], 8, _hoisted_7$n);
|
|
10799
10882
|
}), 128)),
|
|
10800
10883
|
__props.showPagination !== false && getTotalPages() > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$i, [
|
|
10801
10884
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(GridPaginationImpl.value), {
|
|
@@ -10888,7 +10971,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10888
10971
|
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" })
|
|
10889
10972
|
], -1)),
|
|
10890
10973
|
vue.createTextVNode(" " + vue.toDisplayString(getLabel("addToCart", "Add to cart")), 1)
|
|
10891
|
-
], 8, _hoisted_23$
|
|
10974
|
+
], 8, _hoisted_23$b)
|
|
10892
10975
|
])
|
|
10893
10976
|
])
|
|
10894
10977
|
])) : vue.createCommentVNode("", true),
|
|
@@ -10902,11 +10985,11 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10902
10985
|
onClick: _cache[8] || (_cache[8] = vue.withModifiers(() => {
|
|
10903
10986
|
}, ["stop"]))
|
|
10904
10987
|
}, [
|
|
10905
|
-
vue.createElementVNode("div", _hoisted_24$
|
|
10906
|
-
vue.createElementVNode("h2", _hoisted_25$
|
|
10988
|
+
vue.createElementVNode("div", _hoisted_24$b, [
|
|
10989
|
+
vue.createElementVNode("h2", _hoisted_25$b, vue.toDisplayString(getLabel("addProductModalTitle", "Add product to list")), 1)
|
|
10907
10990
|
]),
|
|
10908
|
-
vue.createElementVNode("div", _hoisted_26$
|
|
10909
|
-
vue.createElementVNode("div", _hoisted_27$
|
|
10991
|
+
vue.createElementVNode("div", _hoisted_26$b, [
|
|
10992
|
+
vue.createElementVNode("div", _hoisted_27$b, [
|
|
10910
10993
|
_cache[14] || (_cache[14] = vue.createElementVNode("svg", {
|
|
10911
10994
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10912
10995
|
width: "16",
|
|
@@ -11026,31 +11109,31 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11026
11109
|
])
|
|
11027
11110
|
])
|
|
11028
11111
|
])) : vue.createCommentVNode("", true)
|
|
11029
|
-
], 10, _hoisted_1$
|
|
11112
|
+
], 10, _hoisted_1$r);
|
|
11030
11113
|
};
|
|
11031
11114
|
}
|
|
11032
11115
|
});
|
|
11033
|
-
const _hoisted_1$
|
|
11034
|
-
const _hoisted_2$
|
|
11116
|
+
const _hoisted_1$q = ["data-loading"];
|
|
11117
|
+
const _hoisted_2$q = {
|
|
11035
11118
|
key: 0,
|
|
11036
11119
|
class: "propeller-favorite-lists__toolbar flex justify-end mb-4"
|
|
11037
11120
|
};
|
|
11038
|
-
const _hoisted_3$
|
|
11121
|
+
const _hoisted_3$q = {
|
|
11039
11122
|
key: 1,
|
|
11040
11123
|
class: "space-y-4"
|
|
11041
11124
|
};
|
|
11042
|
-
const _hoisted_4$
|
|
11125
|
+
const _hoisted_4$n = {
|
|
11043
11126
|
key: 0,
|
|
11044
11127
|
class: "propeller-favorite-lists__list space-y-4"
|
|
11045
11128
|
};
|
|
11046
|
-
const _hoisted_5$
|
|
11047
|
-
const _hoisted_6$
|
|
11048
|
-
const _hoisted_7$
|
|
11049
|
-
const _hoisted_8$
|
|
11129
|
+
const _hoisted_5$n = ["onClick", "data-editing", "data-default"];
|
|
11130
|
+
const _hoisted_6$m = { class: "flex justify-between items-start" };
|
|
11131
|
+
const _hoisted_7$m = { class: "flex-1" };
|
|
11132
|
+
const _hoisted_8$k = {
|
|
11050
11133
|
key: 0,
|
|
11051
11134
|
class: "propeller-favorite-lists__edit space-y-4"
|
|
11052
11135
|
};
|
|
11053
|
-
const _hoisted_9$
|
|
11136
|
+
const _hoisted_9$j = { class: "space-y-2" };
|
|
11054
11137
|
const _hoisted_10$h = ["placeholder", "value"];
|
|
11055
11138
|
const _hoisted_11$g = { class: "flex items-center space-x-2" };
|
|
11056
11139
|
const _hoisted_12$g = ["id", "checked"];
|
|
@@ -11076,17 +11159,17 @@ const _hoisted_22$a = {
|
|
|
11076
11159
|
key: 1,
|
|
11077
11160
|
class: "flex items-center gap-1"
|
|
11078
11161
|
};
|
|
11079
|
-
const _hoisted_23$
|
|
11162
|
+
const _hoisted_23$a = {
|
|
11080
11163
|
key: 0,
|
|
11081
11164
|
class: "propeller-favorite-lists__actions flex gap-2"
|
|
11082
11165
|
};
|
|
11083
|
-
const _hoisted_24$
|
|
11084
|
-
const _hoisted_25$
|
|
11085
|
-
const _hoisted_26$
|
|
11166
|
+
const _hoisted_24$a = ["title", "onClick"];
|
|
11167
|
+
const _hoisted_25$a = ["title", "onClick"];
|
|
11168
|
+
const _hoisted_26$a = {
|
|
11086
11169
|
key: 1,
|
|
11087
11170
|
class: "propeller-favorite-lists__empty border border-border rounded-[var(--radius-container)] p-12 text-center space-y-4"
|
|
11088
11171
|
};
|
|
11089
|
-
const _hoisted_27$
|
|
11172
|
+
const _hoisted_27$a = { class: "propeller-favorite-lists__empty-title text-lg font-medium" };
|
|
11090
11173
|
const _hoisted_28$9 = { class: "propeller-favorite-lists__empty-message text-muted-foreground" };
|
|
11091
11174
|
const _hoisted_29$9 = {
|
|
11092
11175
|
key: 3,
|
|
@@ -11118,7 +11201,7 @@ const _hoisted_46$7 = { class: "space-y-4" };
|
|
|
11118
11201
|
const _hoisted_47$7 = { class: "propeller-favorite-lists__delete-prompt" };
|
|
11119
11202
|
const _hoisted_48$7 = { class: "propeller-favorite-lists__delete-warning text-sm text-destructive" };
|
|
11120
11203
|
const _hoisted_49$6 = { class: "flex justify-end gap-3 pt-6" };
|
|
11121
|
-
const _sfc_main$
|
|
11204
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
11122
11205
|
__name: "FavoriteLists",
|
|
11123
11206
|
props: {
|
|
11124
11207
|
user: {},
|
|
@@ -11251,7 +11334,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11251
11334
|
class: vue.normalizeClass(`propeller-favorite-lists ${__props.className || ""}`),
|
|
11252
11335
|
"data-loading": vue.unref(loading) ? "true" : "false"
|
|
11253
11336
|
}, [
|
|
11254
|
-
__props.allowFavoriteListCreate !== false && !vue.unref(loading) && isMounted.value && displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
11337
|
+
__props.allowFavoriteListCreate !== false && !vue.unref(loading) && isMounted.value && displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$q, [
|
|
11255
11338
|
vue.createElementVNode("button", {
|
|
11256
11339
|
class: "propeller-favorite-lists__create-btn inline-flex items-center px-4 py-2 text-sm font-medium rounded-[var(--radius-control)] text-primary-foreground bg-primary hover:bg-primary/80",
|
|
11257
11340
|
onClick: _cache[0] || (_cache[0] = async (event) => {
|
|
@@ -11276,11 +11359,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11276
11359
|
vue.createTextVNode(vue.toDisplayString(getLabel("createButton", "Create New List")), 1)
|
|
11277
11360
|
])
|
|
11278
11361
|
])) : vue.createCommentVNode("", true),
|
|
11279
|
-
vue.unref(loading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
11362
|
+
vue.unref(loading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$q, [..._cache[14] || (_cache[14] = [
|
|
11280
11363
|
vue.createStaticVNode('<div class="propeller-favorite-lists__skeleton border border-border rounded-[var(--radius-container)] p-6 animate-pulse"><div class="flex justify-between items-start"><div class="space-y-2 flex-1"><div class="h-6 w-1/3 bg-surface-hover rounded"></div><div class="h-4 w-1/4 bg-surface-hover rounded"></div><div class="h-4 w-1/2 bg-surface-hover rounded"></div></div></div></div><div class="propeller-favorite-lists__skeleton border border-border rounded-[var(--radius-container)] p-6 animate-pulse"><div class="flex justify-between items-start"><div class="space-y-2 flex-1"><div class="h-6 w-1/3 bg-surface-hover rounded"></div><div class="h-4 w-1/4 bg-surface-hover rounded"></div><div class="h-4 w-1/2 bg-surface-hover rounded"></div></div></div></div>', 2)
|
|
11281
11364
|
])])) : vue.createCommentVNode("", true),
|
|
11282
11365
|
!vue.unref(loading) && isMounted.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
11283
|
-
displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
11366
|
+
displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$n, [
|
|
11284
11367
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayedLists.value, (list, index2) => {
|
|
11285
11368
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
11286
11369
|
key: list.id,
|
|
@@ -11295,10 +11378,10 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11295
11378
|
"propeller-favorite-lists__item border border-border rounded-[var(--radius-container)] p-6 hover:bg-surface-hover transition-colors" + (vue.unref(editingListId) !== String(list.id) && __props.onListClick ? " cursor-pointer" : "")
|
|
11296
11379
|
)
|
|
11297
11380
|
}, [
|
|
11298
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
11299
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
11300
|
-
vue.unref(editingListId) === String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
11301
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
11381
|
+
vue.createElementVNode("div", _hoisted_6$m, [
|
|
11382
|
+
vue.createElementVNode("div", _hoisted_7$m, [
|
|
11383
|
+
vue.unref(editingListId) === String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$k, [
|
|
11384
|
+
vue.createElementVNode("div", _hoisted_9$j, [
|
|
11302
11385
|
vue.createElementVNode("input", {
|
|
11303
11386
|
type: "text",
|
|
11304
11387
|
placeholder: getLabel("createPlaceholder", "Enter list name"),
|
|
@@ -11410,7 +11493,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11410
11493
|
])
|
|
11411
11494
|
])) : vue.createCommentVNode("", true)
|
|
11412
11495
|
]),
|
|
11413
|
-
__props.showActions !== false && vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
11496
|
+
__props.showActions !== false && vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$a, [
|
|
11414
11497
|
vue.createElementVNode("button", {
|
|
11415
11498
|
title: getLabel("editTooltip", "Edit"),
|
|
11416
11499
|
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",
|
|
@@ -11433,7 +11516,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11433
11516
|
vue.createElementVNode("path", { d: "M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z" }),
|
|
11434
11517
|
vue.createElementVNode("path", { d: "m15 5 4 4" })
|
|
11435
11518
|
], -1)
|
|
11436
|
-
])], 8, _hoisted_24$
|
|
11519
|
+
])], 8, _hoisted_24$a),
|
|
11437
11520
|
vue.createElementVNode("button", {
|
|
11438
11521
|
title: getLabel("deleteTooltip", "Delete"),
|
|
11439
11522
|
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",
|
|
@@ -11457,13 +11540,13 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11457
11540
|
vue.createElementVNode("path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" }),
|
|
11458
11541
|
vue.createElementVNode("path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" })
|
|
11459
11542
|
], -1)
|
|
11460
|
-
])], 8, _hoisted_25$
|
|
11543
|
+
])], 8, _hoisted_25$a)
|
|
11461
11544
|
])) : vue.createCommentVNode("", true)
|
|
11462
11545
|
])
|
|
11463
|
-
], 10, _hoisted_5$
|
|
11546
|
+
], 10, _hoisted_5$n);
|
|
11464
11547
|
}), 128))
|
|
11465
11548
|
])) : vue.createCommentVNode("", true),
|
|
11466
|
-
displayedLists.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
11549
|
+
displayedLists.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$a, [
|
|
11467
11550
|
_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" }, [
|
|
11468
11551
|
vue.createElementVNode("svg", {
|
|
11469
11552
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -11481,7 +11564,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11481
11564
|
])
|
|
11482
11565
|
], -1)),
|
|
11483
11566
|
vue.createElementVNode("div", null, [
|
|
11484
|
-
vue.createElementVNode("p", _hoisted_27$
|
|
11567
|
+
vue.createElementVNode("p", _hoisted_27$a, vue.toDisplayString(getLabel("noLists", "No favorite lists")), 1),
|
|
11485
11568
|
vue.createElementVNode("p", _hoisted_28$9, vue.toDisplayString(getLabel(
|
|
11486
11569
|
"noListsDescription",
|
|
11487
11570
|
"Start by creating a new list to save your items."
|
|
@@ -11577,31 +11660,31 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11577
11660
|
])
|
|
11578
11661
|
])
|
|
11579
11662
|
])) : vue.createCommentVNode("", true)
|
|
11580
|
-
], 10, _hoisted_1$
|
|
11663
|
+
], 10, _hoisted_1$q);
|
|
11581
11664
|
};
|
|
11582
11665
|
}
|
|
11583
11666
|
});
|
|
11584
|
-
const _hoisted_1$
|
|
11585
|
-
const _hoisted_2$
|
|
11667
|
+
const _hoisted_1$p = ["data-loading", "data-submitted"];
|
|
11668
|
+
const _hoisted_2$p = {
|
|
11586
11669
|
key: 0,
|
|
11587
11670
|
class: "propeller-forgot-password__header space-y-1 text-center mb-6"
|
|
11588
11671
|
};
|
|
11589
|
-
const _hoisted_3$
|
|
11590
|
-
const _hoisted_4$
|
|
11672
|
+
const _hoisted_3$p = { class: "propeller-forgot-password__title text-2xl font-bold" };
|
|
11673
|
+
const _hoisted_4$m = {
|
|
11591
11674
|
key: 0,
|
|
11592
11675
|
class: "propeller-forgot-password__subtitle text-sm text-muted-foreground"
|
|
11593
11676
|
};
|
|
11594
|
-
const _hoisted_5$
|
|
11595
|
-
const _hoisted_6$
|
|
11677
|
+
const _hoisted_5$m = { class: "propeller-forgot-password__field space-y-2" };
|
|
11678
|
+
const _hoisted_6$l = {
|
|
11596
11679
|
for: "forgot-password-email",
|
|
11597
11680
|
class: "propeller-forgot-password__label text-sm font-medium leading-none"
|
|
11598
11681
|
};
|
|
11599
|
-
const _hoisted_7$
|
|
11600
|
-
const _hoisted_8$
|
|
11682
|
+
const _hoisted_7$l = ["value", "placeholder", "disabled"];
|
|
11683
|
+
const _hoisted_8$j = {
|
|
11601
11684
|
key: 0,
|
|
11602
11685
|
class: "text-sm text-destructive bg-destructive/10 p-3 rounded-[var(--radius-control)]"
|
|
11603
11686
|
};
|
|
11604
|
-
const _hoisted_9$
|
|
11687
|
+
const _hoisted_9$i = ["disabled"];
|
|
11605
11688
|
const _hoisted_10$g = {
|
|
11606
11689
|
key: 0,
|
|
11607
11690
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -11614,7 +11697,7 @@ const _hoisted_11$f = {
|
|
|
11614
11697
|
class: "propeller-forgot-password__success text-center space-y-4"
|
|
11615
11698
|
};
|
|
11616
11699
|
const _hoisted_12$f = { class: "propeller-forgot-password__success-message text-sm text-muted-foreground" };
|
|
11617
|
-
const _sfc_main$
|
|
11700
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
11618
11701
|
__name: "ForgotPassword",
|
|
11619
11702
|
props: {
|
|
11620
11703
|
graphqlClient: {},
|
|
@@ -11676,17 +11759,17 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
11676
11759
|
"data-loading": vue.unref(loading) ? "true" : "false",
|
|
11677
11760
|
"data-submitted": submitted.value ? "true" : "false"
|
|
11678
11761
|
}, [
|
|
11679
|
-
resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
11680
|
-
vue.createElementVNode("h2", _hoisted_3$
|
|
11681
|
-
__props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$
|
|
11762
|
+
resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, [
|
|
11763
|
+
vue.createElementVNode("h2", _hoisted_3$p, vue.toDisplayString(resolvedTitle.value), 1),
|
|
11764
|
+
__props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$m, vue.toDisplayString(__props.subtitle), 1)) : vue.createCommentVNode("", true)
|
|
11682
11765
|
])) : vue.createCommentVNode("", true),
|
|
11683
11766
|
!submitted.value ? (vue.openBlock(), vue.createElementBlock("form", {
|
|
11684
11767
|
key: 1,
|
|
11685
11768
|
class: "propeller-forgot-password__form space-y-4",
|
|
11686
11769
|
onSubmit: _cache[1] || (_cache[1] = async (e) => handleSubmit(e))
|
|
11687
11770
|
}, [
|
|
11688
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
11689
|
-
vue.createElementVNode("label", _hoisted_6$
|
|
11771
|
+
vue.createElementVNode("div", _hoisted_5$m, [
|
|
11772
|
+
vue.createElementVNode("label", _hoisted_6$l, vue.toDisplayString(emailLabel.value), 1),
|
|
11690
11773
|
vue.createElementVNode("input", {
|
|
11691
11774
|
type: "email",
|
|
11692
11775
|
id: "forgot-password-email",
|
|
@@ -11699,9 +11782,9 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
11699
11782
|
placeholder: emailPlaceholder.value,
|
|
11700
11783
|
required: true,
|
|
11701
11784
|
disabled: vue.unref(loading)
|
|
11702
|
-
}, null, 40, _hoisted_7$
|
|
11785
|
+
}, null, 40, _hoisted_7$l)
|
|
11703
11786
|
]),
|
|
11704
|
-
errorMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
11787
|
+
errorMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$j, vue.toDisplayString(errorMessage.value), 1)) : vue.createCommentVNode("", true),
|
|
11705
11788
|
vue.createElementVNode("button", {
|
|
11706
11789
|
type: "submit",
|
|
11707
11790
|
class: "propeller-forgot-password__submit inline-flex items-center justify-center w-full h-10 px-4 py-2 text-sm font-medium text-primary-foreground bg-primary rounded-[var(--radius-control)] hover:bg-primary/80 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
@@ -11727,7 +11810,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
11727
11810
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
11728
11811
|
vue.createTextVNode(vue.toDisplayString(resolvedButtonText.value), 1)
|
|
11729
11812
|
], 64))
|
|
11730
|
-
], 8, _hoisted_9$
|
|
11813
|
+
], 8, _hoisted_9$i)
|
|
11731
11814
|
], 32)) : vue.createCommentVNode("", true),
|
|
11732
11815
|
submitted.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$f, [
|
|
11733
11816
|
_cache[3] || (_cache[3] = vue.createElementVNode("div", { class: "flex justify-center" }, [
|
|
@@ -11748,19 +11831,19 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
11748
11831
|
], -1)),
|
|
11749
11832
|
vue.createElementVNode("p", _hoisted_12$f, vue.toDisplayString(resolvedResponseMessage.value), 1)
|
|
11750
11833
|
])) : vue.createCommentVNode("", true)
|
|
11751
|
-
], 8, _hoisted_1$
|
|
11834
|
+
], 8, _hoisted_1$p);
|
|
11752
11835
|
};
|
|
11753
11836
|
}
|
|
11754
11837
|
});
|
|
11755
|
-
const _hoisted_1$
|
|
11756
|
-
const _hoisted_2$
|
|
11757
|
-
const _hoisted_3$
|
|
11758
|
-
const _hoisted_4$
|
|
11759
|
-
const _hoisted_5$
|
|
11760
|
-
const _hoisted_6$
|
|
11761
|
-
const _hoisted_7$
|
|
11762
|
-
const _hoisted_8$
|
|
11763
|
-
const _hoisted_9$
|
|
11838
|
+
const _hoisted_1$o = ["data-mobile", "data-pending"];
|
|
11839
|
+
const _hoisted_2$o = { class: "propeller-grid-filters__price space-y-3" };
|
|
11840
|
+
const _hoisted_3$o = { class: "propeller-grid-filters__price-title text-xs font-semibold uppercase tracking-wide text-muted-foreground" };
|
|
11841
|
+
const _hoisted_4$l = { class: "flex items-center gap-2" };
|
|
11842
|
+
const _hoisted_5$l = { class: "relative flex-1" };
|
|
11843
|
+
const _hoisted_6$k = ["value", "min", "max"];
|
|
11844
|
+
const _hoisted_7$k = { class: "relative flex-1" };
|
|
11845
|
+
const _hoisted_8$i = ["value", "min", "max"];
|
|
11846
|
+
const _hoisted_9$h = { class: "propeller-grid-filters__price-slider relative h-4 pt-1" };
|
|
11764
11847
|
const _hoisted_10$f = ["min", "max", "value"];
|
|
11765
11848
|
const _hoisted_11$e = ["min", "max", "value"];
|
|
11766
11849
|
const _hoisted_12$e = {
|
|
@@ -11777,7 +11860,7 @@ const _hoisted_16$d = {
|
|
|
11777
11860
|
const _hoisted_17$d = ["checked", "onChange"];
|
|
11778
11861
|
const _hoisted_18$b = { class: "propeller-grid-filters__option-label flex-1 text-sm text-muted-foreground leading-none select-none group-hover:text-foreground" };
|
|
11779
11862
|
const _hoisted_19$a = { class: "propeller-grid-filters__option-count ml-1 text-xs text-foreground-subtle" };
|
|
11780
|
-
const _sfc_main$
|
|
11863
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
11781
11864
|
__name: "GridFilters",
|
|
11782
11865
|
props: {
|
|
11783
11866
|
filters: {},
|
|
@@ -12004,10 +12087,10 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
12004
12087
|
"data-pending": isPending.value ? "true" : "false"
|
|
12005
12088
|
}, [
|
|
12006
12089
|
showPriceFilter() && (__props.priceMin !== void 0 || __props.priceMax !== void 0) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
12007
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
12008
|
-
vue.createElementVNode("h3", _hoisted_3$
|
|
12009
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
12010
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
12090
|
+
vue.createElementVNode("div", _hoisted_2$o, [
|
|
12091
|
+
vue.createElementVNode("h3", _hoisted_3$o, vue.toDisplayString(getLabel("priceRange", "Price Range")), 1),
|
|
12092
|
+
vue.createElementVNode("div", _hoisted_4$l, [
|
|
12093
|
+
vue.createElementVNode("div", _hoisted_5$l, [
|
|
12011
12094
|
_cache[14] || (_cache[14] = vue.createElementVNode("span", { class: "propeller-grid-filters__price-currency absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-foreground-subtle pointer-events-none" }, "€", -1)),
|
|
12012
12095
|
vue.createElementVNode("input", {
|
|
12013
12096
|
type: "number",
|
|
@@ -12018,10 +12101,10 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
12018
12101
|
onInput: _cache[0] || (_cache[0] = (e) => minInput.value = e.target.value),
|
|
12019
12102
|
onBlur: _cache[1] || (_cache[1] = async (event) => commitMinInput()),
|
|
12020
12103
|
onKeyup: _cache[2] || (_cache[2] = vue.withKeys((e) => e.target.blur(), ["enter"]))
|
|
12021
|
-
}, null, 40, _hoisted_6$
|
|
12104
|
+
}, null, 40, _hoisted_6$k)
|
|
12022
12105
|
]),
|
|
12023
12106
|
_cache[16] || (_cache[16] = vue.createElementVNode("span", { class: "propeller-grid-filters__price-separator text-foreground-subtle text-sm select-none" }, "–", -1)),
|
|
12024
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
12107
|
+
vue.createElementVNode("div", _hoisted_7$k, [
|
|
12025
12108
|
_cache[15] || (_cache[15] = vue.createElementVNode("span", { class: "propeller-grid-filters__price-currency absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-foreground-subtle pointer-events-none" }, "€", -1)),
|
|
12026
12109
|
vue.createElementVNode("input", {
|
|
12027
12110
|
type: "number",
|
|
@@ -12032,10 +12115,10 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
12032
12115
|
onInput: _cache[3] || (_cache[3] = (e) => maxInput.value = e.target.value),
|
|
12033
12116
|
onBlur: _cache[4] || (_cache[4] = async (event) => commitMaxInput()),
|
|
12034
12117
|
onKeyup: _cache[5] || (_cache[5] = vue.withKeys((e) => e.target.blur(), ["enter"]))
|
|
12035
|
-
}, null, 40, _hoisted_8$
|
|
12118
|
+
}, null, 40, _hoisted_8$i)
|
|
12036
12119
|
])
|
|
12037
12120
|
]),
|
|
12038
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
12121
|
+
vue.createElementVNode("div", _hoisted_9$h, [
|
|
12039
12122
|
vue.createElementVNode("input", {
|
|
12040
12123
|
type: "range",
|
|
12041
12124
|
class: "propeller-grid-filters__price-slider-thumb absolute w-full h-1.5 bg-transparent appearance-none pointer-events-none [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-secondary [&::-webkit-slider-thumb]:cursor-pointer z-20",
|
|
@@ -12111,7 +12194,144 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
12111
12194
|
])) : vue.createCommentVNode("", true)
|
|
12112
12195
|
], 8, _hoisted_13$e);
|
|
12113
12196
|
}), 128))
|
|
12114
|
-
], 10, _hoisted_1$
|
|
12197
|
+
], 10, _hoisted_1$o);
|
|
12198
|
+
};
|
|
12199
|
+
}
|
|
12200
|
+
});
|
|
12201
|
+
const _hoisted_1$n = ["aria-expanded"];
|
|
12202
|
+
const _hoisted_2$n = {
|
|
12203
|
+
class: "propeller-grid-filters-panel__trigger-icon w-[1.1em] h-[1.1em] flex-shrink-0",
|
|
12204
|
+
viewBox: "0 0 24 24",
|
|
12205
|
+
fill: "none",
|
|
12206
|
+
stroke: "currentColor",
|
|
12207
|
+
strokeWidth: 2,
|
|
12208
|
+
strokeLinecap: "round",
|
|
12209
|
+
strokeLinejoin: "round",
|
|
12210
|
+
"aria-hidden": "true"
|
|
12211
|
+
};
|
|
12212
|
+
const _hoisted_3$n = {
|
|
12213
|
+
key: 0,
|
|
12214
|
+
class: "propeller-grid-filters-panel__count inline-flex items-center justify-center min-w-[1.25rem] h-5 px-1 rounded-full bg-secondary text-secondary-foreground text-xs font-semibold"
|
|
12215
|
+
};
|
|
12216
|
+
const _hoisted_4$k = { class: "propeller-grid-filters-panel__header lg:hidden flex items-center justify-between gap-3 px-4 h-14 border-b border-border-subtle flex-shrink-0" };
|
|
12217
|
+
const _hoisted_5$k = { class: "propeller-grid-filters-panel__title text-base font-semibold text-foreground" };
|
|
12218
|
+
const _hoisted_6$j = ["aria-label"];
|
|
12219
|
+
const _hoisted_7$j = {
|
|
12220
|
+
viewBox: "0 0 24 24",
|
|
12221
|
+
fill: "none",
|
|
12222
|
+
stroke: "currentColor",
|
|
12223
|
+
strokeWidth: 2,
|
|
12224
|
+
strokeLinecap: "round",
|
|
12225
|
+
strokeLinejoin: "round",
|
|
12226
|
+
class: "w-5 h-5"
|
|
12227
|
+
};
|
|
12228
|
+
const _hoisted_8$h = { class: "propeller-grid-filters-panel__body flex-1 overflow-y-auto px-4 py-4 lg:flex-none lg:overflow-visible lg:p-0" };
|
|
12229
|
+
const _hoisted_9$g = { class: "propeller-grid-filters-panel__footer lg:hidden px-4 py-3 border-t border-border-subtle flex-shrink-0" };
|
|
12230
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
12231
|
+
__name: "GridFiltersPanel",
|
|
12232
|
+
props: {
|
|
12233
|
+
activeFilterCount: {},
|
|
12234
|
+
wrapperClassName: {},
|
|
12235
|
+
filters: {},
|
|
12236
|
+
priceMin: {},
|
|
12237
|
+
priceMax: {},
|
|
12238
|
+
language: {},
|
|
12239
|
+
getSelectedFilters: { type: Function },
|
|
12240
|
+
onFilterChange: { type: Function },
|
|
12241
|
+
onPriceChange: { type: Function },
|
|
12242
|
+
onClearFilters: { type: Function },
|
|
12243
|
+
isMobile: { type: Boolean },
|
|
12244
|
+
portalMode: {},
|
|
12245
|
+
user: {},
|
|
12246
|
+
collapsed: { type: Boolean },
|
|
12247
|
+
clearSignal: {},
|
|
12248
|
+
activeTextFilters: {},
|
|
12249
|
+
activePriceMin: {},
|
|
12250
|
+
activePriceMax: {},
|
|
12251
|
+
isLoading: { type: Boolean },
|
|
12252
|
+
className: {},
|
|
12253
|
+
labels: {}
|
|
12254
|
+
},
|
|
12255
|
+
setup(__props) {
|
|
12256
|
+
const props = __props;
|
|
12257
|
+
const open = vue.ref(false);
|
|
12258
|
+
const gridFiltersProps = vue.computed(() => {
|
|
12259
|
+
const { activeFilterCount, wrapperClassName, labels, ...rest } = props;
|
|
12260
|
+
return rest;
|
|
12261
|
+
});
|
|
12262
|
+
function getLabel(key, fallback) {
|
|
12263
|
+
return index.getLabel(props.labels, key, fallback);
|
|
12264
|
+
}
|
|
12265
|
+
function onKey(e) {
|
|
12266
|
+
if (e.key === "Escape") open.value = false;
|
|
12267
|
+
}
|
|
12268
|
+
vue.watch(open, (isOpen) => {
|
|
12269
|
+
if (typeof document === "undefined") return;
|
|
12270
|
+
if (isOpen) {
|
|
12271
|
+
document.addEventListener("keydown", onKey);
|
|
12272
|
+
document.body.style.overflow = "hidden";
|
|
12273
|
+
} else {
|
|
12274
|
+
document.removeEventListener("keydown", onKey);
|
|
12275
|
+
document.body.style.overflow = "";
|
|
12276
|
+
}
|
|
12277
|
+
});
|
|
12278
|
+
vue.onUnmounted(() => {
|
|
12279
|
+
if (typeof document === "undefined") return;
|
|
12280
|
+
document.removeEventListener("keydown", onKey);
|
|
12281
|
+
document.body.style.overflow = "";
|
|
12282
|
+
});
|
|
12283
|
+
return (_ctx, _cache) => {
|
|
12284
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
12285
|
+
class: vue.normalizeClass(`propeller-grid-filters-panel w-full lg:w-64 lg:flex-shrink-0 ${__props.wrapperClassName || ""}`)
|
|
12286
|
+
}, [
|
|
12287
|
+
vue.createElementVNode("button", {
|
|
12288
|
+
type: "button",
|
|
12289
|
+
class: "propeller-grid-filters-panel__trigger lg:hidden inline-flex items-center justify-center gap-2 h-10 px-4 rounded-[var(--radius-control)] border border-border bg-card text-sm font-medium text-foreground shadow-sm hover:bg-surface-hover transition-colors",
|
|
12290
|
+
onClick: _cache[0] || (_cache[0] = ($event) => open.value = true),
|
|
12291
|
+
"aria-haspopup": "dialog",
|
|
12292
|
+
"aria-expanded": open.value
|
|
12293
|
+
}, [
|
|
12294
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_2$n, [..._cache[4] || (_cache[4] = [
|
|
12295
|
+
vue.createElementVNode("path", { d: "M22 3H2l8 9.46V19l4 2v-8.54L22 3z" }, null, -1)
|
|
12296
|
+
])])),
|
|
12297
|
+
vue.createTextVNode(" " + vue.toDisplayString(getLabel("filtersButton", "Filters")) + " ", 1),
|
|
12298
|
+
__props.activeFilterCount && __props.activeFilterCount > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$n, vue.toDisplayString(__props.activeFilterCount), 1)) : vue.createCommentVNode("", true)
|
|
12299
|
+
], 8, _hoisted_1$n),
|
|
12300
|
+
vue.createElementVNode("div", {
|
|
12301
|
+
class: vue.normalizeClass(`propeller-grid-filters-panel__backdrop lg:hidden fixed inset-0 z-40 bg-foreground/40 transition-opacity ${open.value ? "opacity-100" : "pointer-events-none opacity-0"}`),
|
|
12302
|
+
onClick: _cache[1] || (_cache[1] = ($event) => open.value = false),
|
|
12303
|
+
"aria-hidden": "true"
|
|
12304
|
+
}, null, 2),
|
|
12305
|
+
vue.createElementVNode("div", {
|
|
12306
|
+
class: vue.normalizeClass(`propeller-grid-filters-panel__panel fixed inset-y-0 left-0 z-50 w-80 max-w-[85vw] bg-card shadow-xl flex flex-col transition-transform duration-300 lg:static lg:z-auto lg:w-auto lg:max-w-none lg:translate-x-0 lg:bg-transparent lg:shadow-none lg:block ${open.value ? "translate-x-0" : "-translate-x-full"}`),
|
|
12307
|
+
role: "dialog",
|
|
12308
|
+
"aria-modal": "true"
|
|
12309
|
+
}, [
|
|
12310
|
+
vue.createElementVNode("div", _hoisted_4$k, [
|
|
12311
|
+
vue.createElementVNode("span", _hoisted_5$k, vue.toDisplayString(getLabel("filtersButton", "Filters")), 1),
|
|
12312
|
+
vue.createElementVNode("button", {
|
|
12313
|
+
type: "button",
|
|
12314
|
+
class: "propeller-grid-filters-panel__close inline-flex items-center justify-center h-8 w-8 rounded-[var(--radius-control)] text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors",
|
|
12315
|
+
onClick: _cache[2] || (_cache[2] = ($event) => open.value = false),
|
|
12316
|
+
"aria-label": getLabel("closeFilters", "Close")
|
|
12317
|
+
}, [
|
|
12318
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_7$j, [..._cache[5] || (_cache[5] = [
|
|
12319
|
+
vue.createElementVNode("path", { d: "M18 6 6 18M6 6l12 12" }, null, -1)
|
|
12320
|
+
])]))
|
|
12321
|
+
], 8, _hoisted_6$j)
|
|
12322
|
+
]),
|
|
12323
|
+
vue.createElementVNode("div", _hoisted_8$h, [
|
|
12324
|
+
vue.createVNode(_sfc_main$q, vue.mergeProps(gridFiltersProps.value, { labels: __props.labels }), null, 16, ["labels"])
|
|
12325
|
+
]),
|
|
12326
|
+
vue.createElementVNode("div", _hoisted_9$g, [
|
|
12327
|
+
vue.createElementVNode("button", {
|
|
12328
|
+
type: "button",
|
|
12329
|
+
class: "propeller-grid-filters-panel__apply w-full inline-flex justify-center items-center h-10 px-6 rounded-[var(--radius-control)] text-sm font-medium text-primary-foreground bg-secondary hover:bg-secondary/90 transition-colors",
|
|
12330
|
+
onClick: _cache[3] || (_cache[3] = ($event) => open.value = false)
|
|
12331
|
+
}, vue.toDisplayString(getLabel("applyFilters", "Show results")), 1)
|
|
12332
|
+
])
|
|
12333
|
+
], 2)
|
|
12334
|
+
], 2);
|
|
12115
12335
|
};
|
|
12116
12336
|
}
|
|
12117
12337
|
});
|
|
@@ -12498,17 +12718,17 @@ const _hoisted_22$9 = {
|
|
|
12498
12718
|
key: 0,
|
|
12499
12719
|
class: "propeller-items-overview__item-sku text-xs text-muted-foreground mt-0.5"
|
|
12500
12720
|
};
|
|
12501
|
-
const _hoisted_23$
|
|
12721
|
+
const _hoisted_23$9 = {
|
|
12502
12722
|
key: 1,
|
|
12503
12723
|
class: "propeller-items-overview__item-surcharges mt-1 text-xs text-muted-foreground"
|
|
12504
12724
|
};
|
|
12505
|
-
const _hoisted_24$
|
|
12506
|
-
const _hoisted_25$
|
|
12507
|
-
const _hoisted_26$
|
|
12725
|
+
const _hoisted_24$9 = { class: "font-medium" };
|
|
12726
|
+
const _hoisted_25$9 = { class: "propeller-items-overview__item-surcharges-list mt-0.5" };
|
|
12727
|
+
const _hoisted_26$9 = {
|
|
12508
12728
|
key: 2,
|
|
12509
12729
|
class: "propeller-items-overview__item-options mt-1.5 space-y-1 border-l-2 border-border-subtle pl-2"
|
|
12510
12730
|
};
|
|
12511
|
-
const _hoisted_27$
|
|
12731
|
+
const _hoisted_27$9 = { class: "line-clamp-1" };
|
|
12512
12732
|
const _hoisted_28$8 = { class: "text-foreground-subtle whitespace-nowrap ml-2" };
|
|
12513
12733
|
const _hoisted_29$8 = { class: "propeller-items-overview__item-qty flex items-center text-xs text-foreground-subtle mt-1" };
|
|
12514
12734
|
const _hoisted_30$8 = ["data-in-stock"];
|
|
@@ -12724,9 +12944,9 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12724
12944
|
showPrice.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_21$9, vue.toDisplayString(formatItemPrice(getItemTotalPrice(item))), 1)) : vue.createCommentVNode("", true)
|
|
12725
12945
|
]),
|
|
12726
12946
|
showSku.value && getItemSku(item) ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_22$9, " SKU: " + vue.toDisplayString(getItemSku(item)), 1)) : vue.createCommentVNode("", true),
|
|
12727
|
-
getItemSurcharges(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
12728
|
-
vue.createElementVNode("span", _hoisted_24$
|
|
12729
|
-
vue.createElementVNode("ul", _hoisted_25$
|
|
12947
|
+
getItemSurcharges(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$9, [
|
|
12948
|
+
vue.createElementVNode("span", _hoisted_24$9, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
|
|
12949
|
+
vue.createElementVNode("ul", _hoisted_25$9, [
|
|
12730
12950
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getItemSurcharges(item), (line, idx) => {
|
|
12731
12951
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
12732
12952
|
key: idx,
|
|
@@ -12735,13 +12955,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12735
12955
|
}), 128))
|
|
12736
12956
|
])
|
|
12737
12957
|
])) : vue.createCommentVNode("", true),
|
|
12738
|
-
getItemChildItems(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
12958
|
+
getItemChildItems(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$9, [
|
|
12739
12959
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getItemChildItems(item), (child, idx) => {
|
|
12740
12960
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
12741
12961
|
key: idx,
|
|
12742
12962
|
class: "propeller-items-overview__item-option flex justify-between items-center text-xs text-muted-foreground"
|
|
12743
12963
|
}, [
|
|
12744
|
-
vue.createElementVNode("span", _hoisted_27$
|
|
12964
|
+
vue.createElementVNode("span", _hoisted_27$9, vue.toDisplayString(child.product?.names?.[0]?.value || "Option"), 1),
|
|
12745
12965
|
vue.createElementVNode("span", _hoisted_28$8, vue.toDisplayString(formatItemPrice(child.totalSum || 0)), 1)
|
|
12746
12966
|
]);
|
|
12747
12967
|
}), 128))
|
|
@@ -12819,15 +13039,15 @@ const _hoisted_19$8 = { class: "propeller-menu__tabs flex items-center border-b
|
|
|
12819
13039
|
const _hoisted_20$8 = ["data-active", "onMouseenter", "onClick"];
|
|
12820
13040
|
const _hoisted_21$8 = { class: "propeller-menu__label" };
|
|
12821
13041
|
const _hoisted_22$8 = ["onMouseenter"];
|
|
12822
|
-
const _hoisted_23$
|
|
12823
|
-
const _hoisted_24$
|
|
12824
|
-
const _hoisted_25$
|
|
12825
|
-
const _hoisted_26$
|
|
13042
|
+
const _hoisted_23$8 = { class: "propeller-menu__panel-grid grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" };
|
|
13043
|
+
const _hoisted_24$8 = ["href", "onClick"];
|
|
13044
|
+
const _hoisted_25$8 = { class: "propeller-menu__label" };
|
|
13045
|
+
const _hoisted_26$8 = {
|
|
12826
13046
|
key: 0,
|
|
12827
13047
|
class: "propeller-menu__list mt-2 space-y-1",
|
|
12828
13048
|
"data-level": "3"
|
|
12829
13049
|
};
|
|
12830
|
-
const _hoisted_27$
|
|
13050
|
+
const _hoisted_27$8 = ["href", "onClick"];
|
|
12831
13051
|
const _hoisted_28$7 = { class: "propeller-menu__label" };
|
|
12832
13052
|
const _hoisted_29$7 = {
|
|
12833
13053
|
class: "propeller-menu__list divide-y divide-border",
|
|
@@ -13073,7 +13293,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13073
13293
|
onMouseenter: async (event) => setHoveredL1(l1.categoryId),
|
|
13074
13294
|
onMouseleave: _cache[0] || (_cache[0] = async (event) => setHoveredL1(null))
|
|
13075
13295
|
}, [
|
|
13076
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
13296
|
+
vue.createElementVNode("div", _hoisted_23$8, [
|
|
13077
13297
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSubCategories(l1), (l2, idx2) => {
|
|
13078
13298
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13079
13299
|
key: `l2-${l2.categoryId}-${idx2}`,
|
|
@@ -13085,9 +13305,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13085
13305
|
href: getCategoryUrl(l2),
|
|
13086
13306
|
onClick: async (e) => handleItemClick(l2, e)
|
|
13087
13307
|
}, [
|
|
13088
|
-
vue.createElementVNode("span", _hoisted_25$
|
|
13089
|
-
], 8, _hoisted_24$
|
|
13090
|
-
getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_26$
|
|
13308
|
+
vue.createElementVNode("span", _hoisted_25$8, vue.toDisplayString(getCategoryName(l2)), 1)
|
|
13309
|
+
], 8, _hoisted_24$8),
|
|
13310
|
+
getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_26$8, [
|
|
13091
13311
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSubCategories(l2), (l3, idx3) => {
|
|
13092
13312
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
13093
13313
|
key: `l3-${l3.categoryId}-${idx3}`,
|
|
@@ -13100,7 +13320,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13100
13320
|
onClick: async (e) => handleItemClick(l3, e)
|
|
13101
13321
|
}, [
|
|
13102
13322
|
vue.createElementVNode("span", _hoisted_28$7, vue.toDisplayString(getCategoryName(l3)), 1)
|
|
13103
|
-
], 8, _hoisted_27$
|
|
13323
|
+
], 8, _hoisted_27$8)
|
|
13104
13324
|
]);
|
|
13105
13325
|
}), 128))
|
|
13106
13326
|
])) : vue.createCommentVNode("", true)
|
|
@@ -13490,14 +13710,14 @@ const _hoisted_19$7 = { value: "" };
|
|
|
13490
13710
|
const _hoisted_20$7 = ["value"];
|
|
13491
13711
|
const _hoisted_21$7 = ["value"];
|
|
13492
13712
|
const _hoisted_22$7 = { value: "" };
|
|
13493
|
-
const _hoisted_23$
|
|
13494
|
-
const _hoisted_24$
|
|
13713
|
+
const _hoisted_23$7 = ["value"];
|
|
13714
|
+
const _hoisted_24$7 = {
|
|
13495
13715
|
key: 4,
|
|
13496
13716
|
class: "flex space-x-2"
|
|
13497
13717
|
};
|
|
13498
|
-
const _hoisted_25$
|
|
13499
|
-
const _hoisted_26$
|
|
13500
|
-
const _hoisted_27$
|
|
13718
|
+
const _hoisted_25$7 = ["value"];
|
|
13719
|
+
const _hoisted_26$7 = { value: "" };
|
|
13720
|
+
const _hoisted_27$7 = ["value"];
|
|
13501
13721
|
const _hoisted_28$6 = { class: "propeller-order-list__filter-actions flex justify-end space-x-2" };
|
|
13502
13722
|
const _hoisted_29$6 = {
|
|
13503
13723
|
key: 0,
|
|
@@ -13865,11 +14085,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13865
14085
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
13866
14086
|
key: order,
|
|
13867
14087
|
value: order
|
|
13868
|
-
}, vue.toDisplayString(getLabel(order, order)), 9, _hoisted_23$
|
|
14088
|
+
}, vue.toDisplayString(getLabel(order, order)), 9, _hoisted_23$7);
|
|
13869
14089
|
}), 128))
|
|
13870
14090
|
], 40, _hoisted_21$7)
|
|
13871
14091
|
])) : vue.createCommentVNode("", true),
|
|
13872
|
-
field === "type" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24$
|
|
14092
|
+
field === "type" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24$7, [
|
|
13873
14093
|
vue.createElementVNode("select", {
|
|
13874
14094
|
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",
|
|
13875
14095
|
value: vue.unref(searchForm).type || "",
|
|
@@ -13880,14 +14100,14 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13880
14100
|
};
|
|
13881
14101
|
})
|
|
13882
14102
|
}, [
|
|
13883
|
-
vue.createElementVNode("option", _hoisted_26$
|
|
14103
|
+
vue.createElementVNode("option", _hoisted_26$7, vue.toDisplayString(getLabel("typeOption", "Type")), 1),
|
|
13884
14104
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(Object.values(vue.unref(propellerSdkV2.OrderType)), (type, index22) => {
|
|
13885
14105
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
13886
14106
|
key: type,
|
|
13887
14107
|
value: type
|
|
13888
|
-
}, vue.toDisplayString(getLabel(type, type)), 9, _hoisted_27$
|
|
14108
|
+
}, vue.toDisplayString(getLabel(type, type)), 9, _hoisted_27$7);
|
|
13889
14109
|
}), 128))
|
|
13890
|
-
], 40, _hoisted_25$
|
|
14110
|
+
], 40, _hoisted_25$7)
|
|
13891
14111
|
])) : vue.createCommentVNode("", true)
|
|
13892
14112
|
]);
|
|
13893
14113
|
}), 128))
|
|
@@ -14062,11 +14282,11 @@ const _hoisted_22$6 = {
|
|
|
14062
14282
|
class: "h-5 w-5",
|
|
14063
14283
|
strokeWidth: 2
|
|
14064
14284
|
};
|
|
14065
|
-
const _hoisted_23$
|
|
14066
|
-
const _hoisted_24$
|
|
14067
|
-
const _hoisted_25$
|
|
14068
|
-
const _hoisted_26$
|
|
14069
|
-
const _hoisted_27$
|
|
14285
|
+
const _hoisted_23$6 = { class: "px-6 py-4 space-y-4" };
|
|
14286
|
+
const _hoisted_24$6 = { class: "grid grid-cols-2 gap-4 text-sm" };
|
|
14287
|
+
const _hoisted_25$6 = { class: "font-medium text-muted-foreground" };
|
|
14288
|
+
const _hoisted_26$6 = { class: "mt-0.5" };
|
|
14289
|
+
const _hoisted_27$6 = {
|
|
14070
14290
|
key: 0,
|
|
14071
14291
|
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"
|
|
14072
14292
|
};
|
|
@@ -14215,12 +14435,12 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14215
14435
|
])]))
|
|
14216
14436
|
])
|
|
14217
14437
|
]),
|
|
14218
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
14219
|
-
vue.createElementVNode("div", _hoisted_24$
|
|
14438
|
+
vue.createElementVNode("div", _hoisted_23$6, [
|
|
14439
|
+
vue.createElementVNode("div", _hoisted_24$6, [
|
|
14220
14440
|
vue.createElementVNode("div", null, [
|
|
14221
|
-
vue.createElementVNode("span", _hoisted_25$
|
|
14222
|
-
vue.createElementVNode("p", _hoisted_26$
|
|
14223
|
-
!!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27$
|
|
14441
|
+
vue.createElementVNode("span", _hoisted_25$6, vue.toDisplayString(getLabel("labelStatus", "Status")), 1),
|
|
14442
|
+
vue.createElementVNode("p", _hoisted_26$6, [
|
|
14443
|
+
!!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27$6, vue.toDisplayString(activeShipment.value?.status), 1)) : vue.createCommentVNode("", true),
|
|
14224
14444
|
!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_28$5, "-")) : vue.createCommentVNode("", true)
|
|
14225
14445
|
])
|
|
14226
14446
|
]),
|
|
@@ -14450,17 +14670,17 @@ const _hoisted_19$5 = {
|
|
|
14450
14670
|
const _hoisted_20$5 = { class: "flex items-baseline gap-2" };
|
|
14451
14671
|
const _hoisted_21$5 = { class: "propeller-product-bundles__price text-2xl font-bold text-foreground" };
|
|
14452
14672
|
const _hoisted_22$5 = { class: "text-xs text-muted-foreground" };
|
|
14453
|
-
const _hoisted_23$
|
|
14673
|
+
const _hoisted_23$5 = {
|
|
14454
14674
|
key: 1,
|
|
14455
14675
|
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)]"
|
|
14456
14676
|
};
|
|
14457
|
-
const _hoisted_24$
|
|
14458
|
-
const _hoisted_25$
|
|
14677
|
+
const _hoisted_24$5 = ["onClick", "disabled", "data-loading"];
|
|
14678
|
+
const _hoisted_25$5 = {
|
|
14459
14679
|
key: 3,
|
|
14460
14680
|
class: "propeller-product-bundles__login-prompt text-center text-sm text-muted-foreground py-2"
|
|
14461
14681
|
};
|
|
14462
|
-
const _hoisted_26$
|
|
14463
|
-
const _hoisted_27$
|
|
14682
|
+
const _hoisted_26$5 = ["data-toast-type"];
|
|
14683
|
+
const _hoisted_27$5 = {
|
|
14464
14684
|
key: 0,
|
|
14465
14685
|
fill: "none",
|
|
14466
14686
|
viewBox: "0 0 24 24",
|
|
@@ -14777,7 +14997,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14777
14997
|
], 64))
|
|
14778
14998
|
])
|
|
14779
14999
|
]),
|
|
14780
|
-
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
15000
|
+
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$5, vue.toDisplayString(getLabel("youSave", "Your savings: ")) + vue.toDisplayString(formatPrice(
|
|
14781
15001
|
getOriginalPrice(bundle) - getBundlePrice(bundle)
|
|
14782
15002
|
)), 1)) : vue.createCommentVNode("", true)
|
|
14783
15003
|
]),
|
|
@@ -14792,9 +15012,9 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14792
15012
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
14793
15013
|
vue.createTextVNode(vue.toDisplayString(getLabel("addToCart", "In cart")), 1)
|
|
14794
15014
|
], 64))
|
|
14795
|
-
], 8, _hoisted_24$
|
|
15015
|
+
], 8, _hoisted_24$5)
|
|
14796
15016
|
], 64)) : vue.createCommentVNode("", true),
|
|
14797
|
-
getHidePrices() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$
|
|
15017
|
+
getHidePrices() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$5, vue.toDisplayString(getLabel(
|
|
14798
15018
|
"loginToSeePrices",
|
|
14799
15019
|
"Log in to see prices and add to cart"
|
|
14800
15020
|
)), 1)) : vue.createCommentVNode("", true)
|
|
@@ -14810,7 +15030,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14810
15030
|
vue.createElementVNode("div", {
|
|
14811
15031
|
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"}`)
|
|
14812
15032
|
}, [
|
|
14813
|
-
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_27$
|
|
15033
|
+
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_27$5, [..._cache[7] || (_cache[7] = [
|
|
14814
15034
|
vue.createElementVNode("path", {
|
|
14815
15035
|
strokeLinecap: "round",
|
|
14816
15036
|
strokeLinejoin: "round",
|
|
@@ -14841,7 +15061,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14841
15061
|
}, null, -1)
|
|
14842
15062
|
])]))
|
|
14843
15063
|
], 2)
|
|
14844
|
-
], 10, _hoisted_26$
|
|
15064
|
+
], 10, _hoisted_26$5)) : vue.createCommentVNode("", true),
|
|
14845
15065
|
modalVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_30$4, [
|
|
14846
15066
|
vue.createElementVNode("div", {
|
|
14847
15067
|
class: "propeller-product-bundles__modal-backdrop fixed inset-0 bg-foreground/20",
|
|
@@ -14944,18 +15164,32 @@ const _hoisted_9$9 = { class: "propeller-product-card__sku font-mono text-xs tex
|
|
|
14944
15164
|
const _hoisted_10$8 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
14945
15165
|
const _hoisted_11$7 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
|
|
14946
15166
|
const _hoisted_12$7 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
14947
|
-
const _hoisted_13$7 = { class: "propeller-product-card__footer w-full md:w-auto flex items-center gap-3 px-4 py-2 md:py-0 border-t md:border-t-0 border-border-subtle" };
|
|
14948
|
-
const _hoisted_14$7 = { class: "propeller-product-
|
|
14949
|
-
const _hoisted_15$6 = { class: "propeller-product-
|
|
14950
|
-
const _hoisted_16$6 = { class: "propeller-product-
|
|
14951
|
-
const _hoisted_17$6 = { class: "propeller-product-
|
|
14952
|
-
const _hoisted_18$5 = { class: "propeller-product-
|
|
14953
|
-
const _hoisted_19$4 = { class: "propeller-product-
|
|
14954
|
-
const _hoisted_20$4 = {
|
|
14955
|
-
|
|
14956
|
-
|
|
15167
|
+
const _hoisted_13$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" };
|
|
15168
|
+
const _hoisted_14$7 = { class: "propeller-product-card__footer-meta flex items-center justify-between gap-3 md:contents" };
|
|
15169
|
+
const _hoisted_15$6 = { class: "propeller-product-card__price" };
|
|
15170
|
+
const _hoisted_16$6 = { class: "propeller-product-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
|
|
15171
|
+
const _hoisted_17$6 = { class: "propeller-product-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
|
|
15172
|
+
const _hoisted_18$5 = { class: "propeller-product-card__sku font-mono text-xs text-foreground-subtle" };
|
|
15173
|
+
const _hoisted_19$4 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
15174
|
+
const _hoisted_20$4 = {
|
|
15175
|
+
key: 3,
|
|
15176
|
+
class: "hidden md:block"
|
|
15177
|
+
};
|
|
15178
|
+
const _hoisted_21$4 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
|
|
15179
|
+
const _hoisted_22$4 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
15180
|
+
const _hoisted_23$4 = {
|
|
15181
|
+
key: 6,
|
|
15182
|
+
class: "mt-auto hidden md:block"
|
|
15183
|
+
};
|
|
15184
|
+
const _hoisted_24$4 = { class: "propeller-product-card__price pt-1" };
|
|
15185
|
+
const _hoisted_25$4 = {
|
|
14957
15186
|
key: 0,
|
|
14958
|
-
class: "propeller-product-
|
|
15187
|
+
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"
|
|
15188
|
+
};
|
|
15189
|
+
const _hoisted_26$4 = { class: "propeller-product-card__price min-w-0 text-right" };
|
|
15190
|
+
const _hoisted_27$4 = {
|
|
15191
|
+
key: 1,
|
|
15192
|
+
class: "propeller-product-card__cta px-3 pb-3 pt-2 sm:px-4 sm:pb-4"
|
|
14959
15193
|
};
|
|
14960
15194
|
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
14961
15195
|
__name: "ProductCard",
|
|
@@ -15030,10 +15264,10 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15030
15264
|
);
|
|
15031
15265
|
const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
|
|
15032
15266
|
const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
|
|
15033
|
-
const AddToCartImpl = vue.computed(() => resolved.value.addToCartComponent ?? _sfc_main$
|
|
15034
|
-
const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$
|
|
15035
|
-
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$
|
|
15036
|
-
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$
|
|
15267
|
+
const AddToCartImpl = vue.computed(() => resolved.value.addToCartComponent ?? _sfc_main$R);
|
|
15268
|
+
const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$E);
|
|
15269
|
+
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$D);
|
|
15270
|
+
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$Q);
|
|
15037
15271
|
const isFavorite = vue.ref(false);
|
|
15038
15272
|
function isRow() {
|
|
15039
15273
|
return props.columns === 1;
|
|
@@ -15275,52 +15509,54 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15275
15509
|
])
|
|
15276
15510
|
]),
|
|
15277
15511
|
vue.createElementVNode("div", _hoisted_13$7, [
|
|
15278
|
-
|
|
15279
|
-
|
|
15280
|
-
product: __props.product,
|
|
15281
|
-
inventory: __props.product.inventory,
|
|
15282
|
-
showAvailability: false,
|
|
15283
|
-
labels: props.stockLabels
|
|
15284
|
-
}, () => [
|
|
15285
|
-
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
15512
|
+
vue.createElementVNode("div", _hoisted_14$7, [
|
|
15513
|
+
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15286
15514
|
key: 0,
|
|
15287
|
-
|
|
15288
|
-
|
|
15289
|
-
"show-stock": true,
|
|
15290
|
-
labels: props.stockLabels
|
|
15291
|
-
}, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
15292
|
-
key: 1,
|
|
15293
|
-
inventory: props.product.inventory,
|
|
15515
|
+
product: __props.product,
|
|
15516
|
+
inventory: __props.product.inventory,
|
|
15294
15517
|
showAvailability: false,
|
|
15295
|
-
showStock: true,
|
|
15296
15518
|
labels: props.stockLabels
|
|
15297
|
-
},
|
|
15298
|
-
|
|
15299
|
-
__props.showPrice !== false && !!__props.product?.price ? vue.renderSlot(_ctx.$slots, "price", {
|
|
15300
|
-
key: 1,
|
|
15301
|
-
product: __props.product,
|
|
15302
|
-
price: __props.product.price,
|
|
15303
|
-
includeTax: resolvedIncludeTax.value,
|
|
15304
|
-
currency: __props.currency,
|
|
15305
|
-
labels: props.priceLabels
|
|
15306
|
-
}, () => [
|
|
15307
|
-
vue.createElementVNode("div", _hoisted_14$7, [
|
|
15308
|
-
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15519
|
+
}, () => [
|
|
15520
|
+
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
15309
15521
|
key: 0,
|
|
15310
|
-
|
|
15311
|
-
"
|
|
15312
|
-
|
|
15313
|
-
labels: props.
|
|
15314
|
-
}, null, 8, ["
|
|
15522
|
+
inventory: props.product.inventory,
|
|
15523
|
+
"show-availability": false,
|
|
15524
|
+
"show-stock": true,
|
|
15525
|
+
labels: props.stockLabels
|
|
15526
|
+
}, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
15315
15527
|
key: 1,
|
|
15316
|
-
|
|
15317
|
-
|
|
15318
|
-
|
|
15319
|
-
labels: props.
|
|
15320
|
-
}, null, 8, ["
|
|
15321
|
-
])
|
|
15322
|
-
|
|
15323
|
-
|
|
15528
|
+
inventory: props.product.inventory,
|
|
15529
|
+
showAvailability: false,
|
|
15530
|
+
showStock: true,
|
|
15531
|
+
labels: props.stockLabels
|
|
15532
|
+
}, null, 8, ["inventory", "labels"]))
|
|
15533
|
+
]) : vue.createCommentVNode("", true),
|
|
15534
|
+
__props.showPrice !== false && !!__props.product?.price ? vue.renderSlot(_ctx.$slots, "price", {
|
|
15535
|
+
key: 1,
|
|
15536
|
+
product: __props.product,
|
|
15537
|
+
price: __props.product.price,
|
|
15538
|
+
includeTax: resolvedIncludeTax.value,
|
|
15539
|
+
currency: __props.currency,
|
|
15540
|
+
labels: props.priceLabels
|
|
15541
|
+
}, () => [
|
|
15542
|
+
vue.createElementVNode("div", _hoisted_15$6, [
|
|
15543
|
+
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15544
|
+
key: 0,
|
|
15545
|
+
price: __props.product.price,
|
|
15546
|
+
"include-tax": resolvedIncludeTax.value,
|
|
15547
|
+
currency: __props.currency,
|
|
15548
|
+
labels: props.priceLabels
|
|
15549
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9, {
|
|
15550
|
+
key: 1,
|
|
15551
|
+
price: __props.product.price,
|
|
15552
|
+
includeTax: resolvedIncludeTax.value,
|
|
15553
|
+
priceSize: "text-sm",
|
|
15554
|
+
labels: props.priceLabels
|
|
15555
|
+
}, null, 8, ["price", "includeTax", "labels"]))
|
|
15556
|
+
])
|
|
15557
|
+
]) : vue.createCommentVNode("", true)
|
|
15558
|
+
]),
|
|
15559
|
+
vue.createElementVNode("div", _hoisted_16$6, [
|
|
15324
15560
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15325
15561
|
product: __props.product,
|
|
15326
15562
|
cartId: props.cartId,
|
|
@@ -15338,7 +15574,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15338
15574
|
"on-proceed-to-checkout": props.onProceedToCheckout,
|
|
15339
15575
|
"on-request-quote-click": props.onRequestQuoteClick,
|
|
15340
15576
|
labels: props.addToCartLabels
|
|
15341
|
-
}, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15577
|
+
}, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$R, {
|
|
15342
15578
|
key: 1,
|
|
15343
15579
|
graphqlClient: props.graphqlClient,
|
|
15344
15580
|
user: props.user,
|
|
@@ -15366,13 +15602,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15366
15602
|
])
|
|
15367
15603
|
], 64)) : vue.createCommentVNode("", true),
|
|
15368
15604
|
!isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
15369
|
-
vue.createElementVNode("div",
|
|
15605
|
+
vue.createElementVNode("div", _hoisted_17$6, [
|
|
15370
15606
|
__props.showSku !== false && !!getProductSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
15371
15607
|
key: 0,
|
|
15372
15608
|
product: __props.product,
|
|
15373
15609
|
sku: getProductSku()
|
|
15374
15610
|
}, () => [
|
|
15375
|
-
vue.createElementVNode("div",
|
|
15611
|
+
vue.createElementVNode("div", _hoisted_18$5, vue.toDisplayString(getProductSku()), 1)
|
|
15376
15612
|
]) : vue.createCommentVNode("", true),
|
|
15377
15613
|
__props.showName !== false ? vue.renderSlot(_ctx.$slots, getProductName(), {
|
|
15378
15614
|
key: 1,
|
|
@@ -15392,7 +15628,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15392
15628
|
product: __props.product,
|
|
15393
15629
|
values: computedTextLabels()
|
|
15394
15630
|
}, () => [
|
|
15395
|
-
vue.createElementVNode("div",
|
|
15631
|
+
vue.createElementVNode("div", _hoisted_19$4, [
|
|
15396
15632
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
15397
15633
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15398
15634
|
key: index2,
|
|
@@ -15401,8 +15637,71 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15401
15637
|
}), 128))
|
|
15402
15638
|
])
|
|
15403
15639
|
]) : vue.createCommentVNode("", true),
|
|
15640
|
+
props.showStock && !!props.product.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$4, [
|
|
15641
|
+
vue.renderSlot(_ctx.$slots, "stock", {
|
|
15642
|
+
product: __props.product,
|
|
15643
|
+
inventory: __props.product.inventory,
|
|
15644
|
+
showAvailability: props.showAvailability !== false,
|
|
15645
|
+
labels: props.stockLabels
|
|
15646
|
+
}, () => [
|
|
15647
|
+
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
15648
|
+
key: 0,
|
|
15649
|
+
inventory: props.product.inventory,
|
|
15650
|
+
"show-availability": props.showAvailability !== false,
|
|
15651
|
+
"show-stock": true,
|
|
15652
|
+
labels: props.stockLabels
|
|
15653
|
+
}, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
15654
|
+
key: 1,
|
|
15655
|
+
inventory: props.product.inventory,
|
|
15656
|
+
showAvailability: props.showAvailability !== false,
|
|
15657
|
+
showStock: true,
|
|
15658
|
+
labels: props.stockLabels
|
|
15659
|
+
}, null, 8, ["inventory", "showAvailability", "labels"]))
|
|
15660
|
+
])
|
|
15661
|
+
])) : vue.createCommentVNode("", true),
|
|
15662
|
+
__props.showManufacturer && !!getProductManufacturer() ? vue.renderSlot(_ctx.$slots, "manufacturer", {
|
|
15663
|
+
key: 4,
|
|
15664
|
+
product: __props.product,
|
|
15665
|
+
manufacturer: getProductManufacturer()
|
|
15666
|
+
}, () => [
|
|
15667
|
+
vue.createElementVNode("div", _hoisted_21$4, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15668
|
+
]) : vue.createCommentVNode("", true),
|
|
15669
|
+
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15670
|
+
key: 5,
|
|
15671
|
+
product: __props.product,
|
|
15672
|
+
text: getProductShortDescription()
|
|
15673
|
+
}, () => [
|
|
15674
|
+
vue.createElementVNode("p", _hoisted_22$4, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15675
|
+
]) : vue.createCommentVNode("", true),
|
|
15676
|
+
__props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$4, [
|
|
15677
|
+
vue.renderSlot(_ctx.$slots, "price", {
|
|
15678
|
+
product: __props.product,
|
|
15679
|
+
price: __props.product.price,
|
|
15680
|
+
includeTax: resolvedIncludeTax.value,
|
|
15681
|
+
currency: __props.currency,
|
|
15682
|
+
labels: props.priceLabels
|
|
15683
|
+
}, () => [
|
|
15684
|
+
vue.createElementVNode("div", _hoisted_24$4, [
|
|
15685
|
+
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15686
|
+
key: 0,
|
|
15687
|
+
price: __props.product.price,
|
|
15688
|
+
"include-tax": resolvedIncludeTax.value,
|
|
15689
|
+
currency: __props.currency,
|
|
15690
|
+
labels: props.priceLabels
|
|
15691
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9, {
|
|
15692
|
+
key: 1,
|
|
15693
|
+
price: __props.product.price,
|
|
15694
|
+
includeTax: resolvedIncludeTax.value,
|
|
15695
|
+
priceSize: "text-base sm:text-lg",
|
|
15696
|
+
labels: props.priceLabels
|
|
15697
|
+
}, null, 8, ["price", "includeTax", "labels"]))
|
|
15698
|
+
])
|
|
15699
|
+
])
|
|
15700
|
+
])) : vue.createCommentVNode("", true)
|
|
15701
|
+
]),
|
|
15702
|
+
props.showStock && !!props.product.inventory || __props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$4, [
|
|
15404
15703
|
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15405
|
-
key:
|
|
15704
|
+
key: 0,
|
|
15406
15705
|
product: __props.product,
|
|
15407
15706
|
inventory: __props.product.inventory,
|
|
15408
15707
|
showAvailability: props.showAvailability !== false,
|
|
@@ -15422,29 +15721,15 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15422
15721
|
labels: props.stockLabels
|
|
15423
15722
|
}, null, 8, ["inventory", "showAvailability", "labels"]))
|
|
15424
15723
|
]) : vue.createCommentVNode("", true),
|
|
15425
|
-
__props.showManufacturer && !!getProductManufacturer() ? vue.renderSlot(_ctx.$slots, "manufacturer", {
|
|
15426
|
-
key: 4,
|
|
15427
|
-
product: __props.product,
|
|
15428
|
-
manufacturer: getProductManufacturer()
|
|
15429
|
-
}, () => [
|
|
15430
|
-
vue.createElementVNode("div", _hoisted_19$4, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15431
|
-
]) : vue.createCommentVNode("", true),
|
|
15432
|
-
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15433
|
-
key: 5,
|
|
15434
|
-
product: __props.product,
|
|
15435
|
-
text: getProductShortDescription()
|
|
15436
|
-
}, () => [
|
|
15437
|
-
vue.createElementVNode("p", _hoisted_20$4, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15438
|
-
]) : vue.createCommentVNode("", true),
|
|
15439
15724
|
__props.showPrice !== false && !!__props.product?.price ? vue.renderSlot(_ctx.$slots, "price", {
|
|
15440
|
-
key:
|
|
15725
|
+
key: 1,
|
|
15441
15726
|
product: __props.product,
|
|
15442
15727
|
price: __props.product.price,
|
|
15443
15728
|
includeTax: resolvedIncludeTax.value,
|
|
15444
15729
|
currency: __props.currency,
|
|
15445
15730
|
labels: props.priceLabels
|
|
15446
15731
|
}, () => [
|
|
15447
|
-
vue.createElementVNode("div",
|
|
15732
|
+
vue.createElementVNode("div", _hoisted_26$4, [
|
|
15448
15733
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15449
15734
|
key: 0,
|
|
15450
15735
|
price: __props.product.price,
|
|
@@ -15455,13 +15740,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15455
15740
|
key: 1,
|
|
15456
15741
|
price: __props.product.price,
|
|
15457
15742
|
includeTax: resolvedIncludeTax.value,
|
|
15458
|
-
priceSize: "text-base
|
|
15743
|
+
priceSize: "text-base",
|
|
15459
15744
|
labels: props.priceLabels
|
|
15460
15745
|
}, null, 8, ["price", "includeTax", "labels"]))
|
|
15461
15746
|
])
|
|
15462
15747
|
]) : vue.createCommentVNode("", true)
|
|
15463
|
-
]),
|
|
15464
|
-
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15748
|
+
])) : vue.createCommentVNode("", true),
|
|
15749
|
+
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$4, [
|
|
15465
15750
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15466
15751
|
product: __props.product,
|
|
15467
15752
|
cartId: props.cartId,
|
|
@@ -15479,7 +15764,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15479
15764
|
"on-proceed-to-checkout": props.onProceedToCheckout,
|
|
15480
15765
|
"on-request-quote-click": props.onRequestQuoteClick,
|
|
15481
15766
|
labels: props.addToCartLabels
|
|
15482
|
-
}, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15767
|
+
}, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$R, {
|
|
15483
15768
|
key: 1,
|
|
15484
15769
|
graphqlClient: props.graphqlClient,
|
|
15485
15770
|
user: props.user,
|
|
@@ -15882,7 +16167,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
15882
16167
|
() => props.productCardComponent ?? _sfc_main$e
|
|
15883
16168
|
);
|
|
15884
16169
|
const ClusterCardImpl = vue.computed(
|
|
15885
|
-
() => props.clusterCardComponent ?? _sfc_main$
|
|
16170
|
+
() => props.clusterCardComponent ?? _sfc_main$C
|
|
15886
16171
|
);
|
|
15887
16172
|
const gridConfig = vue.computed(() => ({
|
|
15888
16173
|
columns: props.columns || 3,
|
|
@@ -16271,15 +16556,15 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
16271
16556
|
const useNewShell = vue.computed(
|
|
16272
16557
|
() => NEW_SHELL_KEYS.some((k) => props[k] !== void 0)
|
|
16273
16558
|
);
|
|
16274
|
-
const ImageImpl = vue.computed(() => props.imageComponent ?? _sfc_main$
|
|
16275
|
-
const BadgesImpl = vue.computed(() => props.badgesComponent ?? _sfc_main$
|
|
16276
|
-
const FavoriteImpl = vue.computed(() => props.favoriteComponent ?? _sfc_main$
|
|
16559
|
+
const ImageImpl = vue.computed(() => props.imageComponent ?? _sfc_main$E);
|
|
16560
|
+
const BadgesImpl = vue.computed(() => props.badgesComponent ?? _sfc_main$D);
|
|
16561
|
+
const FavoriteImpl = vue.computed(() => props.favoriteComponent ?? _sfc_main$Q);
|
|
16277
16562
|
const PriceImpl = vue.computed(() => props.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
|
|
16278
16563
|
const StockImpl = vue.computed(() => props.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
|
|
16279
|
-
const AddToCartImpl = vue.computed(() => props.addToCartComponent ?? _sfc_main$
|
|
16564
|
+
const AddToCartImpl = vue.computed(() => props.addToCartComponent ?? _sfc_main$R);
|
|
16280
16565
|
const BundlesImpl = vue.computed(() => props.bundlesComponent ?? _sfc_main$f);
|
|
16281
16566
|
const BulkPricesImpl = vue.computed(() => props.bulkPricesComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$7);
|
|
16282
|
-
const SurchargesImpl = vue.computed(() => props.surchargesComponent ?? _sfc_main$
|
|
16567
|
+
const SurchargesImpl = vue.computed(() => props.surchargesComponent ?? _sfc_main$L);
|
|
16283
16568
|
const pdpConfig = vue.computed(() => ({
|
|
16284
16569
|
columns: 1,
|
|
16285
16570
|
priceComponent: props.priceComponent,
|
|
@@ -16568,7 +16853,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16568
16853
|
() => props.productCardComponent ?? _sfc_main$e
|
|
16569
16854
|
);
|
|
16570
16855
|
const ClusterCardImpl = vue.computed(
|
|
16571
|
-
() => props.clusterCardComponent ?? _sfc_main$
|
|
16856
|
+
() => props.clusterCardComponent ?? _sfc_main$C
|
|
16572
16857
|
);
|
|
16573
16858
|
const gridConfig = vue.computed(() => ({
|
|
16574
16859
|
columns: 3,
|
|
@@ -20013,43 +20298,44 @@ exports.usePropellerContext = ProductVideos_vue_vue_type_script_setup_true_lang.
|
|
|
20013
20298
|
exports.usePropellerDeps = ProductVideos_vue_vue_type_script_setup_true_lang.usePropellerDeps;
|
|
20014
20299
|
exports.useRequiredPropellerContext = ProductVideos_vue_vue_type_script_setup_true_lang.useRequiredPropellerContext;
|
|
20015
20300
|
exports.useUserMode = ProductVideos_vue_vue_type_script_setup_true_lang.useUserMode;
|
|
20016
|
-
exports.AccountIconAndMenu = _sfc_main$
|
|
20017
|
-
exports.ActionCode = _sfc_main$
|
|
20018
|
-
exports.AddToCart = _sfc_main$
|
|
20019
|
-
exports.AddToFavorite = _sfc_main$
|
|
20020
|
-
exports.AddressCard = _sfc_main$
|
|
20021
|
-
exports.AddressSelector = _sfc_main$
|
|
20022
|
-
exports.CartBonusItems = _sfc_main$
|
|
20023
|
-
exports.CartCarriers = _sfc_main$
|
|
20024
|
-
exports.CartIconAndSidebar = _sfc_main$
|
|
20025
|
-
exports.CartItem = _sfc_main$
|
|
20026
|
-
exports.CartOverview = _sfc_main$
|
|
20027
|
-
exports.CartPaymethods = _sfc_main$
|
|
20028
|
-
exports.CartSummary = _sfc_main$
|
|
20029
|
-
exports.CategoryDescription = _sfc_main$
|
|
20030
|
-
exports.ClusterCard = _sfc_main$
|
|
20031
|
-
exports.ClusterConfigurator = _sfc_main$
|
|
20032
|
-
exports.ClusterInfo = _sfc_main$
|
|
20033
|
-
exports.ClusterJsonLd = _sfc_main$
|
|
20034
|
-
exports.ClusterOptions = _sfc_main$
|
|
20035
|
-
exports.CompanySwitcher = _sfc_main$
|
|
20036
|
-
exports.DefaultAddToCart = _sfc_main$
|
|
20037
|
-
exports.DefaultAddToFavorite = _sfc_main$
|
|
20038
|
-
exports.DefaultProductBadges = _sfc_main$
|
|
20301
|
+
exports.AccountIconAndMenu = _sfc_main$T;
|
|
20302
|
+
exports.ActionCode = _sfc_main$S;
|
|
20303
|
+
exports.AddToCart = _sfc_main$R;
|
|
20304
|
+
exports.AddToFavorite = _sfc_main$Q;
|
|
20305
|
+
exports.AddressCard = _sfc_main$P;
|
|
20306
|
+
exports.AddressSelector = _sfc_main$O;
|
|
20307
|
+
exports.CartBonusItems = _sfc_main$N;
|
|
20308
|
+
exports.CartCarriers = _sfc_main$M;
|
|
20309
|
+
exports.CartIconAndSidebar = _sfc_main$J;
|
|
20310
|
+
exports.CartItem = _sfc_main$K;
|
|
20311
|
+
exports.CartOverview = _sfc_main$I;
|
|
20312
|
+
exports.CartPaymethods = _sfc_main$H;
|
|
20313
|
+
exports.CartSummary = _sfc_main$G;
|
|
20314
|
+
exports.CategoryDescription = _sfc_main$F;
|
|
20315
|
+
exports.ClusterCard = _sfc_main$C;
|
|
20316
|
+
exports.ClusterConfigurator = _sfc_main$B;
|
|
20317
|
+
exports.ClusterInfo = _sfc_main$A;
|
|
20318
|
+
exports.ClusterJsonLd = _sfc_main$z;
|
|
20319
|
+
exports.ClusterOptions = _sfc_main$y;
|
|
20320
|
+
exports.CompanySwitcher = _sfc_main$x;
|
|
20321
|
+
exports.DefaultAddToCart = _sfc_main$R;
|
|
20322
|
+
exports.DefaultAddToFavorite = _sfc_main$Q;
|
|
20323
|
+
exports.DefaultProductBadges = _sfc_main$D;
|
|
20039
20324
|
exports.DefaultProductBundles = _sfc_main$f;
|
|
20040
|
-
exports.DefaultProductImage = _sfc_main$
|
|
20041
|
-
exports.DefaultProductSurcharges = _sfc_main$
|
|
20042
|
-
exports.DeliveryDate = _sfc_main$
|
|
20043
|
-
exports.FavoriteListDetails = _sfc_main$
|
|
20044
|
-
exports.FavoriteListItem = _sfc_main$
|
|
20045
|
-
exports.FavoriteLists = _sfc_main$
|
|
20046
|
-
exports.ForgotPassword = _sfc_main$
|
|
20047
|
-
exports.GridFilters = _sfc_main$
|
|
20048
|
-
exports.
|
|
20325
|
+
exports.DefaultProductImage = _sfc_main$E;
|
|
20326
|
+
exports.DefaultProductSurcharges = _sfc_main$L;
|
|
20327
|
+
exports.DeliveryDate = _sfc_main$w;
|
|
20328
|
+
exports.FavoriteListDetails = _sfc_main$t;
|
|
20329
|
+
exports.FavoriteListItem = _sfc_main$v;
|
|
20330
|
+
exports.FavoriteLists = _sfc_main$s;
|
|
20331
|
+
exports.ForgotPassword = _sfc_main$r;
|
|
20332
|
+
exports.GridFilters = _sfc_main$q;
|
|
20333
|
+
exports.GridFiltersPanel = _sfc_main$p;
|
|
20334
|
+
exports.GridPagination = _sfc_main$u;
|
|
20049
20335
|
exports.GridToolbar = _sfc_main$o;
|
|
20050
20336
|
exports.ItemListJsonLd = _sfc_main$n;
|
|
20051
20337
|
exports.ItemsOverview = _sfc_main$m;
|
|
20052
|
-
exports.LoginForm = _sfc_main$
|
|
20338
|
+
exports.LoginForm = _sfc_main$U;
|
|
20053
20339
|
exports.Menu = _sfc_main$l;
|
|
20054
20340
|
exports.OrderActions = _sfc_main$k;
|
|
20055
20341
|
exports.OrderBonusItems = _sfc_main$j;
|
|
@@ -20067,7 +20353,7 @@ exports.ProductJsonLd = _sfc_main$9;
|
|
|
20067
20353
|
exports.ProductSlider = _sfc_main$8;
|
|
20068
20354
|
exports.ProductSpecifications = _sfc_main$7;
|
|
20069
20355
|
exports.ProductTabs = _sfc_main$6;
|
|
20070
|
-
exports.PropellerProvider = _sfc_main$
|
|
20356
|
+
exports.PropellerProvider = _sfc_main$V;
|
|
20071
20357
|
exports.PurchaseAuthorizationConfigurator = _sfc_main$5;
|
|
20072
20358
|
exports.PurchaseAuthorizationRequests = _sfc_main$4;
|
|
20073
20359
|
exports.QuoteActions = _sfc_main$3;
|