@propeller-commerce/propeller-v2-vue-ui 0.3.14 → 0.3.16
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 +58 -0
- package/dist/components/CartItem.vue.d.ts +2 -0
- package/dist/components/ClusterCard.vue.d.ts +0 -2
- package/dist/components/ProductCard.vue.d.ts +13 -2
- package/dist/index.cjs +378 -276
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +399 -297
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3415,7 +3415,7 @@ 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$
|
|
3418
|
+
const _hoisted_23$j = { class: "propeller-account-menu__login-subtitle text-sm text-muted-foreground mb-4" };
|
|
3419
3419
|
const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
3420
3420
|
__name: "AccountIconAndMenu",
|
|
3421
3421
|
props: {
|
|
@@ -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",
|
|
@@ -3875,98 +3875,108 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
3875
3875
|
}
|
|
3876
3876
|
});
|
|
3877
3877
|
const _hoisted_1$L = ["data-loading"];
|
|
3878
|
-
const _hoisted_2$K = { class: "propeller-add-to-cart__controls flex items-center gap-2 w-full" };
|
|
3878
|
+
const _hoisted_2$K = { class: "propeller-add-to-cart__controls flex flex-wrap items-center gap-2 w-full md:flex-nowrap" };
|
|
3879
3879
|
const _hoisted_3$K = {
|
|
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"
|
|
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
3882
|
};
|
|
3883
3883
|
const _hoisted_4$G = ["disabled"];
|
|
3884
3884
|
const _hoisted_5$F = ["min", "step", "value"];
|
|
3885
3885
|
const _hoisted_6$E = ["disabled"];
|
|
3886
3886
|
const _hoisted_7$E = ["min", "step", "value"];
|
|
3887
3887
|
const _hoisted_8$A = ["disabled"];
|
|
3888
|
-
const _hoisted_9$z =
|
|
3889
|
-
|
|
3888
|
+
const _hoisted_9$z = {
|
|
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$f = { class: "font-medium" };
|
|
3966
|
+
const _hoisted_30$f = { class: "propeller-add-to-cart__modal-surcharges-list mt-0.5" };
|
|
3967
|
+
const _hoisted_31$f = { class: "flex-shrink-0 text-right" };
|
|
3968
|
+
const _hoisted_32$e = { class: "propeller-add-to-cart__modal-quantity text-xs text-muted-foreground" };
|
|
3969
|
+
const _hoisted_33$d = {
|
|
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
|
|
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" };
|
|
3970
3980
|
const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
3971
3981
|
__name: "AddToCart",
|
|
3972
3982
|
props: {
|
|
@@ -4187,7 +4197,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4187
4197
|
}, " -", 8, _hoisted_4$G),
|
|
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,
|
|
@@ -4210,7 +4220,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
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,
|
|
@@ -4225,10 +4235,23 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4225
4235
|
}, null, 40, _hoisted_7$E)) : 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$z, [..._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),
|
|
@@ -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$f, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
|
|
4357
|
+
vue.createElementVNode("ul", _hoisted_30$f, [
|
|
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$f, [
|
|
4368
|
+
vue.createElementVNode("p", _hoisted_32$e, 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$d, 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",
|
|
@@ -4769,11 +4792,11 @@ 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
4801
|
const _hoisted_29$e = { class: "block text-sm font-medium mb-1" };
|
|
4779
4802
|
const _hoisted_30$e = ["value"];
|
|
@@ -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",
|
|
@@ -6101,11 +6124,11 @@ 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
6133
|
const _hoisted_29$d = { class: "propeller-cart-item__crossupsells-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2" };
|
|
6111
6134
|
const _hoisted_30$d = { class: "flex flex-col gap-2" };
|
|
@@ -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
|
},
|
|
@@ -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", {
|
|
@@ -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,11 +6883,11 @@ 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"
|
|
@@ -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"]);
|
|
@@ -7286,17 +7309,17 @@ 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
7324
|
const _hoisted_29$b = {
|
|
7302
7325
|
key: 2,
|
|
@@ -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,
|
|
@@ -7681,7 +7704,7 @@ 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$
|
|
7707
|
+
const _hoisted_23$d = ["disabled"];
|
|
7685
7708
|
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
7686
7709
|
__name: "CartSummary",
|
|
7687
7710
|
props: {
|
|
@@ -7893,7 +7916,7 @@ 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
|
}
|
|
@@ -8111,14 +8134,14 @@ const _hoisted_19$f = { class: "propeller-cluster-card__body flex flex-1 flex-co
|
|
|
8111
8134
|
const _hoisted_20$d = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
|
|
8112
8135
|
const _hoisted_21$c = ["href"];
|
|
8113
8136
|
const _hoisted_22$c = { class: "propeller-cluster-card__labels flex flex-col gap-0.5" };
|
|
8114
|
-
const _hoisted_23$
|
|
8115
|
-
const _hoisted_24$
|
|
8116
|
-
const _hoisted_25$
|
|
8117
|
-
const _hoisted_26$
|
|
8137
|
+
const _hoisted_23$c = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
|
|
8138
|
+
const _hoisted_24$c = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
8139
|
+
const _hoisted_25$c = { class: "propeller-cluster-card__price mt-auto pt-1" };
|
|
8140
|
+
const _hoisted_26$c = {
|
|
8118
8141
|
key: 1,
|
|
8119
8142
|
class: "font-bold text-foreground text-base sm:text-lg"
|
|
8120
8143
|
};
|
|
8121
|
-
const _hoisted_27$
|
|
8144
|
+
const _hoisted_27$c = { class: "propeller-cluster-card__cta px-3 pb-3 sm:px-4 sm:pb-4" };
|
|
8122
8145
|
const _hoisted_28$b = ["href"];
|
|
8123
8146
|
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
8124
8147
|
__name: "ClusterCard",
|
|
@@ -8154,6 +8177,9 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8154
8177
|
setup(__props) {
|
|
8155
8178
|
const props = __props;
|
|
8156
8179
|
const RESOLVE_SPEC = {
|
|
8180
|
+
// NOTE: includeTax is resolved separately (see `infra`/`resolvedIncludeTax`
|
|
8181
|
+
// below) because the infra fallback must read injected context at setup —
|
|
8182
|
+
// useResolvedProps runs inside a `computed` here, where inject() returns null.
|
|
8157
8183
|
priceComponent: { grid: "priceComponent" },
|
|
8158
8184
|
stockComponent: { grid: "stockComponent" },
|
|
8159
8185
|
imageComponent: { grid: "imageComponent" },
|
|
@@ -8161,14 +8187,16 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8161
8187
|
favoriteComponent: { grid: "favoriteComponent" }
|
|
8162
8188
|
};
|
|
8163
8189
|
const resolved = vue.computed(() => useResolvedProps(props, RESOLVE_SPEC));
|
|
8190
|
+
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
8191
|
+
const resolvedIncludeTax = vue.computed(
|
|
8192
|
+
() => props.includeTax === true ? true : !!infra.includeTax
|
|
8193
|
+
);
|
|
8164
8194
|
const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
|
|
8165
8195
|
const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
|
|
8166
8196
|
const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$D);
|
|
8167
8197
|
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$C);
|
|
8168
8198
|
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$P);
|
|
8169
8199
|
const isFavorite = vue.ref(false);
|
|
8170
|
-
const includeTax = vue.ref(false);
|
|
8171
|
-
vue.ref(null);
|
|
8172
8200
|
function isRow() {
|
|
8173
8201
|
return props.columns === 1;
|
|
8174
8202
|
}
|
|
@@ -8215,7 +8243,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8215
8243
|
function getClusterPrice() {
|
|
8216
8244
|
if (!props.showPrice) return "";
|
|
8217
8245
|
const priceObj = props.cluster?.defaultProduct?.price;
|
|
8218
|
-
const useTax =
|
|
8246
|
+
const useTax = resolvedIncludeTax.value;
|
|
8219
8247
|
const value = useTax ? priceObj?.net : priceObj?.gross;
|
|
8220
8248
|
if (!value && value !== 0) return "";
|
|
8221
8249
|
return index.formatPrice(Number(value), { symbol: props.currency ?? "€" });
|
|
@@ -8449,14 +8477,14 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8449
8477
|
key: 1,
|
|
8450
8478
|
cluster: __props.cluster,
|
|
8451
8479
|
price: __props.cluster.defaultProduct?.price,
|
|
8452
|
-
includeTax:
|
|
8480
|
+
includeTax: resolvedIncludeTax.value,
|
|
8453
8481
|
currency: __props.currency,
|
|
8454
8482
|
labels: __props.labels
|
|
8455
8483
|
}, () => [
|
|
8456
8484
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
8457
8485
|
key: 0,
|
|
8458
8486
|
price: __props.cluster.defaultProduct?.price,
|
|
8459
|
-
"include-tax":
|
|
8487
|
+
"include-tax": resolvedIncludeTax.value,
|
|
8460
8488
|
currency: __props.currency,
|
|
8461
8489
|
labels: __props.labels
|
|
8462
8490
|
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$i, vue.toDisplayString(getClusterPrice()), 1))
|
|
@@ -8539,35 +8567,35 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
8539
8567
|
cluster: __props.cluster,
|
|
8540
8568
|
manufacturer: getClusterManufacturer()
|
|
8541
8569
|
}, () => [
|
|
8542
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
8570
|
+
vue.createElementVNode("div", _hoisted_23$c, vue.toDisplayString(getClusterManufacturer()), 1)
|
|
8543
8571
|
]) : vue.createCommentVNode("", true),
|
|
8544
8572
|
__props.showShortDescription && !!getClusterShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
8545
8573
|
key: 5,
|
|
8546
8574
|
cluster: __props.cluster,
|
|
8547
8575
|
text: getClusterShortDescription()
|
|
8548
8576
|
}, () => [
|
|
8549
|
-
vue.createElementVNode("p", _hoisted_24$
|
|
8577
|
+
vue.createElementVNode("p", _hoisted_24$c, vue.toDisplayString(getClusterShortDescription()), 1)
|
|
8550
8578
|
]) : vue.createCommentVNode("", true),
|
|
8551
8579
|
!!getClusterPrice() ? vue.renderSlot(_ctx.$slots, "price", {
|
|
8552
8580
|
key: 6,
|
|
8553
8581
|
cluster: __props.cluster,
|
|
8554
8582
|
price: __props.cluster.defaultProduct?.price,
|
|
8555
|
-
includeTax:
|
|
8583
|
+
includeTax: resolvedIncludeTax.value,
|
|
8556
8584
|
currency: __props.currency,
|
|
8557
8585
|
labels: __props.labels
|
|
8558
8586
|
}, () => [
|
|
8559
|
-
vue.createElementVNode("div", _hoisted_25$
|
|
8587
|
+
vue.createElementVNode("div", _hoisted_25$c, [
|
|
8560
8588
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
8561
8589
|
key: 0,
|
|
8562
8590
|
price: __props.cluster.defaultProduct?.price,
|
|
8563
|
-
"include-tax":
|
|
8591
|
+
"include-tax": resolvedIncludeTax.value,
|
|
8564
8592
|
currency: __props.currency,
|
|
8565
8593
|
labels: __props.labels
|
|
8566
|
-
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$
|
|
8594
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$c, vue.toDisplayString(getClusterPrice()), 1))
|
|
8567
8595
|
])
|
|
8568
8596
|
]) : vue.createCommentVNode("", true)
|
|
8569
8597
|
]),
|
|
8570
|
-
vue.createElementVNode("div", _hoisted_27$
|
|
8598
|
+
vue.createElementVNode("div", _hoisted_27$c, [
|
|
8571
8599
|
vue.renderSlot(_ctx.$slots, "viewClusterLink", {
|
|
8572
8600
|
cluster: __props.cluster,
|
|
8573
8601
|
clusterUrl: getClusterUrl(),
|
|
@@ -10309,11 +10337,11 @@ const _hoisted_19$c = {
|
|
|
10309
10337
|
const _hoisted_20$b = { class: "propeller-favorite-list-details__floating-bar-count text-sm text-foreground-subtle ml-3" };
|
|
10310
10338
|
const _hoisted_21$b = { class: "propeller-favorite-list-details__floating-bar-actions flex items-center gap-3" };
|
|
10311
10339
|
const _hoisted_22$b = ["disabled"];
|
|
10312
|
-
const _hoisted_23$
|
|
10313
|
-
const _hoisted_24$
|
|
10314
|
-
const _hoisted_25$
|
|
10315
|
-
const _hoisted_26$
|
|
10316
|
-
const _hoisted_27$
|
|
10340
|
+
const _hoisted_23$b = ["disabled"];
|
|
10341
|
+
const _hoisted_24$b = { class: "propeller-favorite-list-details__modal-header border-b border-border px-6 py-4" };
|
|
10342
|
+
const _hoisted_25$b = { class: "propeller-favorite-list-details__modal-title text-lg font-bold" };
|
|
10343
|
+
const _hoisted_26$b = { class: "propeller-favorite-list-details__modal-body px-6 py-4 space-y-4" };
|
|
10344
|
+
const _hoisted_27$b = { class: "propeller-favorite-list-details__search-input-wrapper relative" };
|
|
10317
10345
|
const _hoisted_28$a = ["placeholder", "value"];
|
|
10318
10346
|
const _hoisted_29$a = ["aria-label"];
|
|
10319
10347
|
const _hoisted_30$a = { class: "propeller-favorite-list-details__search-results max-h-80 overflow-y-auto" };
|
|
@@ -10883,7 +10911,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10883
10911
|
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" })
|
|
10884
10912
|
], -1)),
|
|
10885
10913
|
vue.createTextVNode(" " + vue.toDisplayString(getLabel("addToCart", "Add to cart")), 1)
|
|
10886
|
-
], 8, _hoisted_23$
|
|
10914
|
+
], 8, _hoisted_23$b)
|
|
10887
10915
|
])
|
|
10888
10916
|
])
|
|
10889
10917
|
])) : vue.createCommentVNode("", true),
|
|
@@ -10897,11 +10925,11 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
10897
10925
|
onClick: _cache[8] || (_cache[8] = vue.withModifiers(() => {
|
|
10898
10926
|
}, ["stop"]))
|
|
10899
10927
|
}, [
|
|
10900
|
-
vue.createElementVNode("div", _hoisted_24$
|
|
10901
|
-
vue.createElementVNode("h2", _hoisted_25$
|
|
10928
|
+
vue.createElementVNode("div", _hoisted_24$b, [
|
|
10929
|
+
vue.createElementVNode("h2", _hoisted_25$b, vue.toDisplayString(getLabel("addProductModalTitle", "Add product to list")), 1)
|
|
10902
10930
|
]),
|
|
10903
|
-
vue.createElementVNode("div", _hoisted_26$
|
|
10904
|
-
vue.createElementVNode("div", _hoisted_27$
|
|
10931
|
+
vue.createElementVNode("div", _hoisted_26$b, [
|
|
10932
|
+
vue.createElementVNode("div", _hoisted_27$b, [
|
|
10905
10933
|
_cache[14] || (_cache[14] = vue.createElementVNode("svg", {
|
|
10906
10934
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10907
10935
|
width: "16",
|
|
@@ -11071,17 +11099,17 @@ const _hoisted_22$a = {
|
|
|
11071
11099
|
key: 1,
|
|
11072
11100
|
class: "flex items-center gap-1"
|
|
11073
11101
|
};
|
|
11074
|
-
const _hoisted_23$
|
|
11102
|
+
const _hoisted_23$a = {
|
|
11075
11103
|
key: 0,
|
|
11076
11104
|
class: "propeller-favorite-lists__actions flex gap-2"
|
|
11077
11105
|
};
|
|
11078
|
-
const _hoisted_24$
|
|
11079
|
-
const _hoisted_25$
|
|
11080
|
-
const _hoisted_26$
|
|
11106
|
+
const _hoisted_24$a = ["title", "onClick"];
|
|
11107
|
+
const _hoisted_25$a = ["title", "onClick"];
|
|
11108
|
+
const _hoisted_26$a = {
|
|
11081
11109
|
key: 1,
|
|
11082
11110
|
class: "propeller-favorite-lists__empty border border-border rounded-[var(--radius-container)] p-12 text-center space-y-4"
|
|
11083
11111
|
};
|
|
11084
|
-
const _hoisted_27$
|
|
11112
|
+
const _hoisted_27$a = { class: "propeller-favorite-lists__empty-title text-lg font-medium" };
|
|
11085
11113
|
const _hoisted_28$9 = { class: "propeller-favorite-lists__empty-message text-muted-foreground" };
|
|
11086
11114
|
const _hoisted_29$9 = {
|
|
11087
11115
|
key: 3,
|
|
@@ -11405,7 +11433,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11405
11433
|
])
|
|
11406
11434
|
])) : vue.createCommentVNode("", true)
|
|
11407
11435
|
]),
|
|
11408
|
-
__props.showActions !== false && vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
11436
|
+
__props.showActions !== false && vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$a, [
|
|
11409
11437
|
vue.createElementVNode("button", {
|
|
11410
11438
|
title: getLabel("editTooltip", "Edit"),
|
|
11411
11439
|
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",
|
|
@@ -11428,7 +11456,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11428
11456
|
vue.createElementVNode("path", { d: "M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z" }),
|
|
11429
11457
|
vue.createElementVNode("path", { d: "m15 5 4 4" })
|
|
11430
11458
|
], -1)
|
|
11431
|
-
])], 8, _hoisted_24$
|
|
11459
|
+
])], 8, _hoisted_24$a),
|
|
11432
11460
|
vue.createElementVNode("button", {
|
|
11433
11461
|
title: getLabel("deleteTooltip", "Delete"),
|
|
11434
11462
|
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",
|
|
@@ -11452,13 +11480,13 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11452
11480
|
vue.createElementVNode("path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" }),
|
|
11453
11481
|
vue.createElementVNode("path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" })
|
|
11454
11482
|
], -1)
|
|
11455
|
-
])], 8, _hoisted_25$
|
|
11483
|
+
])], 8, _hoisted_25$a)
|
|
11456
11484
|
])) : vue.createCommentVNode("", true)
|
|
11457
11485
|
])
|
|
11458
11486
|
], 10, _hoisted_5$m);
|
|
11459
11487
|
}), 128))
|
|
11460
11488
|
])) : vue.createCommentVNode("", true),
|
|
11461
|
-
displayedLists.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
11489
|
+
displayedLists.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$a, [
|
|
11462
11490
|
_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" }, [
|
|
11463
11491
|
vue.createElementVNode("svg", {
|
|
11464
11492
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -11476,7 +11504,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
11476
11504
|
])
|
|
11477
11505
|
], -1)),
|
|
11478
11506
|
vue.createElementVNode("div", null, [
|
|
11479
|
-
vue.createElementVNode("p", _hoisted_27$
|
|
11507
|
+
vue.createElementVNode("p", _hoisted_27$a, vue.toDisplayString(getLabel("noLists", "No favorite lists")), 1),
|
|
11480
11508
|
vue.createElementVNode("p", _hoisted_28$9, vue.toDisplayString(getLabel(
|
|
11481
11509
|
"noListsDescription",
|
|
11482
11510
|
"Start by creating a new list to save your items."
|
|
@@ -12493,17 +12521,17 @@ const _hoisted_22$9 = {
|
|
|
12493
12521
|
key: 0,
|
|
12494
12522
|
class: "propeller-items-overview__item-sku text-xs text-muted-foreground mt-0.5"
|
|
12495
12523
|
};
|
|
12496
|
-
const _hoisted_23$
|
|
12524
|
+
const _hoisted_23$9 = {
|
|
12497
12525
|
key: 1,
|
|
12498
12526
|
class: "propeller-items-overview__item-surcharges mt-1 text-xs text-muted-foreground"
|
|
12499
12527
|
};
|
|
12500
|
-
const _hoisted_24$
|
|
12501
|
-
const _hoisted_25$
|
|
12502
|
-
const _hoisted_26$
|
|
12528
|
+
const _hoisted_24$9 = { class: "font-medium" };
|
|
12529
|
+
const _hoisted_25$9 = { class: "propeller-items-overview__item-surcharges-list mt-0.5" };
|
|
12530
|
+
const _hoisted_26$9 = {
|
|
12503
12531
|
key: 2,
|
|
12504
12532
|
class: "propeller-items-overview__item-options mt-1.5 space-y-1 border-l-2 border-border-subtle pl-2"
|
|
12505
12533
|
};
|
|
12506
|
-
const _hoisted_27$
|
|
12534
|
+
const _hoisted_27$9 = { class: "line-clamp-1" };
|
|
12507
12535
|
const _hoisted_28$8 = { class: "text-foreground-subtle whitespace-nowrap ml-2" };
|
|
12508
12536
|
const _hoisted_29$8 = { class: "propeller-items-overview__item-qty flex items-center text-xs text-foreground-subtle mt-1" };
|
|
12509
12537
|
const _hoisted_30$8 = ["data-in-stock"];
|
|
@@ -12719,9 +12747,9 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12719
12747
|
showPrice.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_21$9, vue.toDisplayString(formatItemPrice(getItemTotalPrice(item))), 1)) : vue.createCommentVNode("", true)
|
|
12720
12748
|
]),
|
|
12721
12749
|
showSku.value && getItemSku(item) ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_22$9, " SKU: " + vue.toDisplayString(getItemSku(item)), 1)) : vue.createCommentVNode("", true),
|
|
12722
|
-
getItemSurcharges(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
12723
|
-
vue.createElementVNode("span", _hoisted_24$
|
|
12724
|
-
vue.createElementVNode("ul", _hoisted_25$
|
|
12750
|
+
getItemSurcharges(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$9, [
|
|
12751
|
+
vue.createElementVNode("span", _hoisted_24$9, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
|
|
12752
|
+
vue.createElementVNode("ul", _hoisted_25$9, [
|
|
12725
12753
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getItemSurcharges(item), (line, idx) => {
|
|
12726
12754
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
12727
12755
|
key: idx,
|
|
@@ -12730,13 +12758,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12730
12758
|
}), 128))
|
|
12731
12759
|
])
|
|
12732
12760
|
])) : vue.createCommentVNode("", true),
|
|
12733
|
-
getItemChildItems(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
12761
|
+
getItemChildItems(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$9, [
|
|
12734
12762
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getItemChildItems(item), (child, idx) => {
|
|
12735
12763
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
12736
12764
|
key: idx,
|
|
12737
12765
|
class: "propeller-items-overview__item-option flex justify-between items-center text-xs text-muted-foreground"
|
|
12738
12766
|
}, [
|
|
12739
|
-
vue.createElementVNode("span", _hoisted_27$
|
|
12767
|
+
vue.createElementVNode("span", _hoisted_27$9, vue.toDisplayString(child.product?.names?.[0]?.value || "Option"), 1),
|
|
12740
12768
|
vue.createElementVNode("span", _hoisted_28$8, vue.toDisplayString(formatItemPrice(child.totalSum || 0)), 1)
|
|
12741
12769
|
]);
|
|
12742
12770
|
}), 128))
|
|
@@ -12814,15 +12842,15 @@ const _hoisted_19$8 = { class: "propeller-menu__tabs flex items-center border-b
|
|
|
12814
12842
|
const _hoisted_20$8 = ["data-active", "onMouseenter", "onClick"];
|
|
12815
12843
|
const _hoisted_21$8 = { class: "propeller-menu__label" };
|
|
12816
12844
|
const _hoisted_22$8 = ["onMouseenter"];
|
|
12817
|
-
const _hoisted_23$
|
|
12818
|
-
const _hoisted_24$
|
|
12819
|
-
const _hoisted_25$
|
|
12820
|
-
const _hoisted_26$
|
|
12845
|
+
const _hoisted_23$8 = { class: "propeller-menu__panel-grid grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" };
|
|
12846
|
+
const _hoisted_24$8 = ["href", "onClick"];
|
|
12847
|
+
const _hoisted_25$8 = { class: "propeller-menu__label" };
|
|
12848
|
+
const _hoisted_26$8 = {
|
|
12821
12849
|
key: 0,
|
|
12822
12850
|
class: "propeller-menu__list mt-2 space-y-1",
|
|
12823
12851
|
"data-level": "3"
|
|
12824
12852
|
};
|
|
12825
|
-
const _hoisted_27$
|
|
12853
|
+
const _hoisted_27$8 = ["href", "onClick"];
|
|
12826
12854
|
const _hoisted_28$7 = { class: "propeller-menu__label" };
|
|
12827
12855
|
const _hoisted_29$7 = {
|
|
12828
12856
|
class: "propeller-menu__list divide-y divide-border",
|
|
@@ -13068,7 +13096,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13068
13096
|
onMouseenter: async (event) => setHoveredL1(l1.categoryId),
|
|
13069
13097
|
onMouseleave: _cache[0] || (_cache[0] = async (event) => setHoveredL1(null))
|
|
13070
13098
|
}, [
|
|
13071
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
13099
|
+
vue.createElementVNode("div", _hoisted_23$8, [
|
|
13072
13100
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSubCategories(l1), (l2, idx2) => {
|
|
13073
13101
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13074
13102
|
key: `l2-${l2.categoryId}-${idx2}`,
|
|
@@ -13080,9 +13108,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13080
13108
|
href: getCategoryUrl(l2),
|
|
13081
13109
|
onClick: async (e) => handleItemClick(l2, e)
|
|
13082
13110
|
}, [
|
|
13083
|
-
vue.createElementVNode("span", _hoisted_25$
|
|
13084
|
-
], 8, _hoisted_24$
|
|
13085
|
-
getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_26$
|
|
13111
|
+
vue.createElementVNode("span", _hoisted_25$8, vue.toDisplayString(getCategoryName(l2)), 1)
|
|
13112
|
+
], 8, _hoisted_24$8),
|
|
13113
|
+
getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_26$8, [
|
|
13086
13114
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSubCategories(l2), (l3, idx3) => {
|
|
13087
13115
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
13088
13116
|
key: `l3-${l3.categoryId}-${idx3}`,
|
|
@@ -13095,7 +13123,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13095
13123
|
onClick: async (e) => handleItemClick(l3, e)
|
|
13096
13124
|
}, [
|
|
13097
13125
|
vue.createElementVNode("span", _hoisted_28$7, vue.toDisplayString(getCategoryName(l3)), 1)
|
|
13098
|
-
], 8, _hoisted_27$
|
|
13126
|
+
], 8, _hoisted_27$8)
|
|
13099
13127
|
]);
|
|
13100
13128
|
}), 128))
|
|
13101
13129
|
])) : vue.createCommentVNode("", true)
|
|
@@ -13485,14 +13513,14 @@ const _hoisted_19$7 = { value: "" };
|
|
|
13485
13513
|
const _hoisted_20$7 = ["value"];
|
|
13486
13514
|
const _hoisted_21$7 = ["value"];
|
|
13487
13515
|
const _hoisted_22$7 = { value: "" };
|
|
13488
|
-
const _hoisted_23$
|
|
13489
|
-
const _hoisted_24$
|
|
13516
|
+
const _hoisted_23$7 = ["value"];
|
|
13517
|
+
const _hoisted_24$7 = {
|
|
13490
13518
|
key: 4,
|
|
13491
13519
|
class: "flex space-x-2"
|
|
13492
13520
|
};
|
|
13493
|
-
const _hoisted_25$
|
|
13494
|
-
const _hoisted_26$
|
|
13495
|
-
const _hoisted_27$
|
|
13521
|
+
const _hoisted_25$7 = ["value"];
|
|
13522
|
+
const _hoisted_26$7 = { value: "" };
|
|
13523
|
+
const _hoisted_27$7 = ["value"];
|
|
13496
13524
|
const _hoisted_28$6 = { class: "propeller-order-list__filter-actions flex justify-end space-x-2" };
|
|
13497
13525
|
const _hoisted_29$6 = {
|
|
13498
13526
|
key: 0,
|
|
@@ -13860,11 +13888,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13860
13888
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
13861
13889
|
key: order,
|
|
13862
13890
|
value: order
|
|
13863
|
-
}, vue.toDisplayString(getLabel(order, order)), 9, _hoisted_23$
|
|
13891
|
+
}, vue.toDisplayString(getLabel(order, order)), 9, _hoisted_23$7);
|
|
13864
13892
|
}), 128))
|
|
13865
13893
|
], 40, _hoisted_21$7)
|
|
13866
13894
|
])) : vue.createCommentVNode("", true),
|
|
13867
|
-
field === "type" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24$
|
|
13895
|
+
field === "type" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24$7, [
|
|
13868
13896
|
vue.createElementVNode("select", {
|
|
13869
13897
|
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",
|
|
13870
13898
|
value: vue.unref(searchForm).type || "",
|
|
@@ -13875,14 +13903,14 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13875
13903
|
};
|
|
13876
13904
|
})
|
|
13877
13905
|
}, [
|
|
13878
|
-
vue.createElementVNode("option", _hoisted_26$
|
|
13906
|
+
vue.createElementVNode("option", _hoisted_26$7, vue.toDisplayString(getLabel("typeOption", "Type")), 1),
|
|
13879
13907
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(Object.values(vue.unref(propellerSdkV2.OrderType)), (type, index22) => {
|
|
13880
13908
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
13881
13909
|
key: type,
|
|
13882
13910
|
value: type
|
|
13883
|
-
}, vue.toDisplayString(getLabel(type, type)), 9, _hoisted_27$
|
|
13911
|
+
}, vue.toDisplayString(getLabel(type, type)), 9, _hoisted_27$7);
|
|
13884
13912
|
}), 128))
|
|
13885
|
-
], 40, _hoisted_25$
|
|
13913
|
+
], 40, _hoisted_25$7)
|
|
13886
13914
|
])) : vue.createCommentVNode("", true)
|
|
13887
13915
|
]);
|
|
13888
13916
|
}), 128))
|
|
@@ -14057,11 +14085,11 @@ const _hoisted_22$6 = {
|
|
|
14057
14085
|
class: "h-5 w-5",
|
|
14058
14086
|
strokeWidth: 2
|
|
14059
14087
|
};
|
|
14060
|
-
const _hoisted_23$
|
|
14061
|
-
const _hoisted_24$
|
|
14062
|
-
const _hoisted_25$
|
|
14063
|
-
const _hoisted_26$
|
|
14064
|
-
const _hoisted_27$
|
|
14088
|
+
const _hoisted_23$6 = { class: "px-6 py-4 space-y-4" };
|
|
14089
|
+
const _hoisted_24$6 = { class: "grid grid-cols-2 gap-4 text-sm" };
|
|
14090
|
+
const _hoisted_25$6 = { class: "font-medium text-muted-foreground" };
|
|
14091
|
+
const _hoisted_26$6 = { class: "mt-0.5" };
|
|
14092
|
+
const _hoisted_27$6 = {
|
|
14065
14093
|
key: 0,
|
|
14066
14094
|
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"
|
|
14067
14095
|
};
|
|
@@ -14210,12 +14238,12 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14210
14238
|
])]))
|
|
14211
14239
|
])
|
|
14212
14240
|
]),
|
|
14213
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
14214
|
-
vue.createElementVNode("div", _hoisted_24$
|
|
14241
|
+
vue.createElementVNode("div", _hoisted_23$6, [
|
|
14242
|
+
vue.createElementVNode("div", _hoisted_24$6, [
|
|
14215
14243
|
vue.createElementVNode("div", null, [
|
|
14216
|
-
vue.createElementVNode("span", _hoisted_25$
|
|
14217
|
-
vue.createElementVNode("p", _hoisted_26$
|
|
14218
|
-
!!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27$
|
|
14244
|
+
vue.createElementVNode("span", _hoisted_25$6, vue.toDisplayString(getLabel("labelStatus", "Status")), 1),
|
|
14245
|
+
vue.createElementVNode("p", _hoisted_26$6, [
|
|
14246
|
+
!!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27$6, vue.toDisplayString(activeShipment.value?.status), 1)) : vue.createCommentVNode("", true),
|
|
14219
14247
|
!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_28$5, "-")) : vue.createCommentVNode("", true)
|
|
14220
14248
|
])
|
|
14221
14249
|
]),
|
|
@@ -14445,17 +14473,17 @@ const _hoisted_19$5 = {
|
|
|
14445
14473
|
const _hoisted_20$5 = { class: "flex items-baseline gap-2" };
|
|
14446
14474
|
const _hoisted_21$5 = { class: "propeller-product-bundles__price text-2xl font-bold text-foreground" };
|
|
14447
14475
|
const _hoisted_22$5 = { class: "text-xs text-muted-foreground" };
|
|
14448
|
-
const _hoisted_23$
|
|
14476
|
+
const _hoisted_23$5 = {
|
|
14449
14477
|
key: 1,
|
|
14450
14478
|
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)]"
|
|
14451
14479
|
};
|
|
14452
|
-
const _hoisted_24$
|
|
14453
|
-
const _hoisted_25$
|
|
14480
|
+
const _hoisted_24$5 = ["onClick", "disabled", "data-loading"];
|
|
14481
|
+
const _hoisted_25$5 = {
|
|
14454
14482
|
key: 3,
|
|
14455
14483
|
class: "propeller-product-bundles__login-prompt text-center text-sm text-muted-foreground py-2"
|
|
14456
14484
|
};
|
|
14457
|
-
const _hoisted_26$
|
|
14458
|
-
const _hoisted_27$
|
|
14485
|
+
const _hoisted_26$5 = ["data-toast-type"];
|
|
14486
|
+
const _hoisted_27$5 = {
|
|
14459
14487
|
key: 0,
|
|
14460
14488
|
fill: "none",
|
|
14461
14489
|
viewBox: "0 0 24 24",
|
|
@@ -14772,7 +14800,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14772
14800
|
], 64))
|
|
14773
14801
|
])
|
|
14774
14802
|
]),
|
|
14775
|
-
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
14803
|
+
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$5, vue.toDisplayString(getLabel("youSave", "Your savings: ")) + vue.toDisplayString(formatPrice(
|
|
14776
14804
|
getOriginalPrice(bundle) - getBundlePrice(bundle)
|
|
14777
14805
|
)), 1)) : vue.createCommentVNode("", true)
|
|
14778
14806
|
]),
|
|
@@ -14787,9 +14815,9 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14787
14815
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
14788
14816
|
vue.createTextVNode(vue.toDisplayString(getLabel("addToCart", "In cart")), 1)
|
|
14789
14817
|
], 64))
|
|
14790
|
-
], 8, _hoisted_24$
|
|
14818
|
+
], 8, _hoisted_24$5)
|
|
14791
14819
|
], 64)) : vue.createCommentVNode("", true),
|
|
14792
|
-
getHidePrices() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$
|
|
14820
|
+
getHidePrices() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$5, vue.toDisplayString(getLabel(
|
|
14793
14821
|
"loginToSeePrices",
|
|
14794
14822
|
"Log in to see prices and add to cart"
|
|
14795
14823
|
)), 1)) : vue.createCommentVNode("", true)
|
|
@@ -14805,7 +14833,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14805
14833
|
vue.createElementVNode("div", {
|
|
14806
14834
|
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"}`)
|
|
14807
14835
|
}, [
|
|
14808
|
-
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_27$
|
|
14836
|
+
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_27$5, [..._cache[7] || (_cache[7] = [
|
|
14809
14837
|
vue.createElementVNode("path", {
|
|
14810
14838
|
strokeLinecap: "round",
|
|
14811
14839
|
strokeLinejoin: "round",
|
|
@@ -14836,7 +14864,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14836
14864
|
}, null, -1)
|
|
14837
14865
|
])]))
|
|
14838
14866
|
], 2)
|
|
14839
|
-
], 10, _hoisted_26$
|
|
14867
|
+
], 10, _hoisted_26$5)) : vue.createCommentVNode("", true),
|
|
14840
14868
|
modalVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_30$4, [
|
|
14841
14869
|
vue.createElementVNode("div", {
|
|
14842
14870
|
class: "propeller-product-bundles__modal-backdrop fixed inset-0 bg-foreground/20",
|
|
@@ -14939,18 +14967,32 @@ const _hoisted_9$9 = { class: "propeller-product-card__sku font-mono text-xs tex
|
|
|
14939
14967
|
const _hoisted_10$8 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
14940
14968
|
const _hoisted_11$7 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
|
|
14941
14969
|
const _hoisted_12$7 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
14942
|
-
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" };
|
|
14943
|
-
const _hoisted_14$7 = { class: "propeller-product-
|
|
14944
|
-
const _hoisted_15$6 = { class: "propeller-product-
|
|
14945
|
-
const _hoisted_16$6 = { class: "propeller-product-
|
|
14946
|
-
const _hoisted_17$6 = { class: "propeller-product-
|
|
14947
|
-
const _hoisted_18$5 = { class: "propeller-product-
|
|
14948
|
-
const _hoisted_19$4 = { class: "propeller-product-
|
|
14949
|
-
const _hoisted_20$4 = {
|
|
14950
|
-
|
|
14951
|
-
|
|
14970
|
+
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" };
|
|
14971
|
+
const _hoisted_14$7 = { class: "propeller-product-card__footer-meta flex items-center justify-between gap-3 md:contents" };
|
|
14972
|
+
const _hoisted_15$6 = { class: "propeller-product-card__price" };
|
|
14973
|
+
const _hoisted_16$6 = { class: "propeller-product-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
|
|
14974
|
+
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" };
|
|
14975
|
+
const _hoisted_18$5 = { class: "propeller-product-card__sku font-mono text-xs text-foreground-subtle" };
|
|
14976
|
+
const _hoisted_19$4 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
14977
|
+
const _hoisted_20$4 = {
|
|
14978
|
+
key: 3,
|
|
14979
|
+
class: "hidden md:block"
|
|
14980
|
+
};
|
|
14981
|
+
const _hoisted_21$4 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
|
|
14982
|
+
const _hoisted_22$4 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
14983
|
+
const _hoisted_23$4 = {
|
|
14984
|
+
key: 6,
|
|
14985
|
+
class: "mt-auto hidden md:block"
|
|
14986
|
+
};
|
|
14987
|
+
const _hoisted_24$4 = { class: "propeller-product-card__price pt-1" };
|
|
14988
|
+
const _hoisted_25$4 = {
|
|
14952
14989
|
key: 0,
|
|
14953
|
-
class: "propeller-product-
|
|
14990
|
+
class: "propeller-product-card__footer-meta flex items-center justify-between gap-2 px-3 pt-1 sm:px-4 md:hidden"
|
|
14991
|
+
};
|
|
14992
|
+
const _hoisted_26$4 = { class: "propeller-product-card__price" };
|
|
14993
|
+
const _hoisted_27$4 = {
|
|
14994
|
+
key: 1,
|
|
14995
|
+
class: "propeller-product-card__cta px-3 pb-3 pt-2 sm:px-4 sm:pb-4"
|
|
14954
14996
|
};
|
|
14955
14997
|
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
14956
14998
|
__name: "ProductCard",
|
|
@@ -15008,6 +15050,9 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15008
15050
|
setup(__props) {
|
|
15009
15051
|
const props = __props;
|
|
15010
15052
|
const RESOLVE_SPEC = {
|
|
15053
|
+
// NOTE: includeTax is resolved separately (see `infra`/`resolvedIncludeTax`
|
|
15054
|
+
// below) because the infra fallback must read injected context at setup —
|
|
15055
|
+
// useResolvedProps runs inside a `computed` here, where inject() returns null.
|
|
15011
15056
|
priceComponent: { grid: "priceComponent" },
|
|
15012
15057
|
stockComponent: { grid: "stockComponent" },
|
|
15013
15058
|
addToCartComponent: { grid: "addToCartComponent" },
|
|
@@ -15016,6 +15061,10 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15016
15061
|
favoriteComponent: { grid: "favoriteComponent" }
|
|
15017
15062
|
};
|
|
15018
15063
|
const resolved = vue.computed(() => useResolvedProps(props, RESOLVE_SPEC));
|
|
15064
|
+
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
15065
|
+
const resolvedIncludeTax = vue.computed(
|
|
15066
|
+
() => props.includeTax === true ? true : !!infra.includeTax
|
|
15067
|
+
);
|
|
15019
15068
|
const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
|
|
15020
15069
|
const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
|
|
15021
15070
|
const AddToCartImpl = vue.computed(() => resolved.value.addToCartComponent ?? _sfc_main$Q);
|
|
@@ -15023,8 +15072,6 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15023
15072
|
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$C);
|
|
15024
15073
|
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$P);
|
|
15025
15074
|
const isFavorite = vue.ref(false);
|
|
15026
|
-
const includeTax = vue.ref(false);
|
|
15027
|
-
vue.ref(null);
|
|
15028
15075
|
function isRow() {
|
|
15029
15076
|
return props.columns === 1;
|
|
15030
15077
|
}
|
|
@@ -15265,52 +15312,54 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15265
15312
|
])
|
|
15266
15313
|
]),
|
|
15267
15314
|
vue.createElementVNode("div", _hoisted_13$7, [
|
|
15268
|
-
|
|
15269
|
-
|
|
15270
|
-
product: __props.product,
|
|
15271
|
-
inventory: __props.product.inventory,
|
|
15272
|
-
showAvailability: false,
|
|
15273
|
-
labels: props.stockLabels
|
|
15274
|
-
}, () => [
|
|
15275
|
-
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
15315
|
+
vue.createElementVNode("div", _hoisted_14$7, [
|
|
15316
|
+
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15276
15317
|
key: 0,
|
|
15277
|
-
|
|
15278
|
-
|
|
15279
|
-
"show-stock": true,
|
|
15280
|
-
labels: props.stockLabels
|
|
15281
|
-
}, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
15282
|
-
key: 1,
|
|
15283
|
-
inventory: props.product.inventory,
|
|
15318
|
+
product: __props.product,
|
|
15319
|
+
inventory: __props.product.inventory,
|
|
15284
15320
|
showAvailability: false,
|
|
15285
|
-
showStock: true,
|
|
15286
15321
|
labels: props.stockLabels
|
|
15287
|
-
},
|
|
15288
|
-
|
|
15289
|
-
__props.showPrice !== false && !!__props.product?.price ? vue.renderSlot(_ctx.$slots, "price", {
|
|
15290
|
-
key: 1,
|
|
15291
|
-
product: __props.product,
|
|
15292
|
-
price: __props.product.price,
|
|
15293
|
-
includeTax: props.includeTax !== void 0 ? !!props.includeTax : includeTax.value,
|
|
15294
|
-
currency: __props.currency,
|
|
15295
|
-
labels: props.priceLabels
|
|
15296
|
-
}, () => [
|
|
15297
|
-
vue.createElementVNode("div", _hoisted_14$7, [
|
|
15298
|
-
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15322
|
+
}, () => [
|
|
15323
|
+
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
15299
15324
|
key: 0,
|
|
15300
|
-
|
|
15301
|
-
"
|
|
15302
|
-
|
|
15303
|
-
labels: props.
|
|
15304
|
-
}, null, 8, ["
|
|
15325
|
+
inventory: props.product.inventory,
|
|
15326
|
+
"show-availability": false,
|
|
15327
|
+
"show-stock": true,
|
|
15328
|
+
labels: props.stockLabels
|
|
15329
|
+
}, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
15305
15330
|
key: 1,
|
|
15306
|
-
|
|
15307
|
-
|
|
15308
|
-
|
|
15309
|
-
labels: props.
|
|
15310
|
-
}, null, 8, ["
|
|
15311
|
-
])
|
|
15312
|
-
|
|
15313
|
-
|
|
15331
|
+
inventory: props.product.inventory,
|
|
15332
|
+
showAvailability: false,
|
|
15333
|
+
showStock: true,
|
|
15334
|
+
labels: props.stockLabels
|
|
15335
|
+
}, null, 8, ["inventory", "labels"]))
|
|
15336
|
+
]) : vue.createCommentVNode("", true),
|
|
15337
|
+
__props.showPrice !== false && !!__props.product?.price ? vue.renderSlot(_ctx.$slots, "price", {
|
|
15338
|
+
key: 1,
|
|
15339
|
+
product: __props.product,
|
|
15340
|
+
price: __props.product.price,
|
|
15341
|
+
includeTax: resolvedIncludeTax.value,
|
|
15342
|
+
currency: __props.currency,
|
|
15343
|
+
labels: props.priceLabels
|
|
15344
|
+
}, () => [
|
|
15345
|
+
vue.createElementVNode("div", _hoisted_15$6, [
|
|
15346
|
+
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15347
|
+
key: 0,
|
|
15348
|
+
price: __props.product.price,
|
|
15349
|
+
"include-tax": resolvedIncludeTax.value,
|
|
15350
|
+
currency: __props.currency,
|
|
15351
|
+
labels: props.priceLabels
|
|
15352
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9, {
|
|
15353
|
+
key: 1,
|
|
15354
|
+
price: __props.product.price,
|
|
15355
|
+
includeTax: resolvedIncludeTax.value,
|
|
15356
|
+
priceSize: "text-sm",
|
|
15357
|
+
labels: props.priceLabels
|
|
15358
|
+
}, null, 8, ["price", "includeTax", "labels"]))
|
|
15359
|
+
])
|
|
15360
|
+
]) : vue.createCommentVNode("", true)
|
|
15361
|
+
]),
|
|
15362
|
+
vue.createElementVNode("div", _hoisted_16$6, [
|
|
15314
15363
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15315
15364
|
product: __props.product,
|
|
15316
15365
|
cartId: props.cartId,
|
|
@@ -15356,13 +15405,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15356
15405
|
])
|
|
15357
15406
|
], 64)) : vue.createCommentVNode("", true),
|
|
15358
15407
|
!isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
15359
|
-
vue.createElementVNode("div",
|
|
15408
|
+
vue.createElementVNode("div", _hoisted_17$6, [
|
|
15360
15409
|
__props.showSku !== false && !!getProductSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
15361
15410
|
key: 0,
|
|
15362
15411
|
product: __props.product,
|
|
15363
15412
|
sku: getProductSku()
|
|
15364
15413
|
}, () => [
|
|
15365
|
-
vue.createElementVNode("div",
|
|
15414
|
+
vue.createElementVNode("div", _hoisted_18$5, vue.toDisplayString(getProductSku()), 1)
|
|
15366
15415
|
]) : vue.createCommentVNode("", true),
|
|
15367
15416
|
__props.showName !== false ? vue.renderSlot(_ctx.$slots, getProductName(), {
|
|
15368
15417
|
key: 1,
|
|
@@ -15382,7 +15431,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15382
15431
|
product: __props.product,
|
|
15383
15432
|
values: computedTextLabels()
|
|
15384
15433
|
}, () => [
|
|
15385
|
-
vue.createElementVNode("div",
|
|
15434
|
+
vue.createElementVNode("div", _hoisted_19$4, [
|
|
15386
15435
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
15387
15436
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15388
15437
|
key: index2,
|
|
@@ -15391,8 +15440,71 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15391
15440
|
}), 128))
|
|
15392
15441
|
])
|
|
15393
15442
|
]) : vue.createCommentVNode("", true),
|
|
15443
|
+
props.showStock && !!props.product.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$4, [
|
|
15444
|
+
vue.renderSlot(_ctx.$slots, "stock", {
|
|
15445
|
+
product: __props.product,
|
|
15446
|
+
inventory: __props.product.inventory,
|
|
15447
|
+
showAvailability: props.showAvailability !== false,
|
|
15448
|
+
labels: props.stockLabels
|
|
15449
|
+
}, () => [
|
|
15450
|
+
props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
|
|
15451
|
+
key: 0,
|
|
15452
|
+
inventory: props.product.inventory,
|
|
15453
|
+
"show-availability": props.showAvailability !== false,
|
|
15454
|
+
"show-stock": true,
|
|
15455
|
+
labels: props.stockLabels
|
|
15456
|
+
}, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
15457
|
+
key: 1,
|
|
15458
|
+
inventory: props.product.inventory,
|
|
15459
|
+
showAvailability: props.showAvailability !== false,
|
|
15460
|
+
showStock: true,
|
|
15461
|
+
labels: props.stockLabels
|
|
15462
|
+
}, null, 8, ["inventory", "showAvailability", "labels"]))
|
|
15463
|
+
])
|
|
15464
|
+
])) : vue.createCommentVNode("", true),
|
|
15465
|
+
__props.showManufacturer && !!getProductManufacturer() ? vue.renderSlot(_ctx.$slots, "manufacturer", {
|
|
15466
|
+
key: 4,
|
|
15467
|
+
product: __props.product,
|
|
15468
|
+
manufacturer: getProductManufacturer()
|
|
15469
|
+
}, () => [
|
|
15470
|
+
vue.createElementVNode("div", _hoisted_21$4, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15471
|
+
]) : vue.createCommentVNode("", true),
|
|
15472
|
+
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15473
|
+
key: 5,
|
|
15474
|
+
product: __props.product,
|
|
15475
|
+
text: getProductShortDescription()
|
|
15476
|
+
}, () => [
|
|
15477
|
+
vue.createElementVNode("p", _hoisted_22$4, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15478
|
+
]) : vue.createCommentVNode("", true),
|
|
15479
|
+
__props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$4, [
|
|
15480
|
+
vue.renderSlot(_ctx.$slots, "price", {
|
|
15481
|
+
product: __props.product,
|
|
15482
|
+
price: __props.product.price,
|
|
15483
|
+
includeTax: resolvedIncludeTax.value,
|
|
15484
|
+
currency: __props.currency,
|
|
15485
|
+
labels: props.priceLabels
|
|
15486
|
+
}, () => [
|
|
15487
|
+
vue.createElementVNode("div", _hoisted_24$4, [
|
|
15488
|
+
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15489
|
+
key: 0,
|
|
15490
|
+
price: __props.product.price,
|
|
15491
|
+
"include-tax": resolvedIncludeTax.value,
|
|
15492
|
+
currency: __props.currency,
|
|
15493
|
+
labels: props.priceLabels
|
|
15494
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9, {
|
|
15495
|
+
key: 1,
|
|
15496
|
+
price: __props.product.price,
|
|
15497
|
+
includeTax: resolvedIncludeTax.value,
|
|
15498
|
+
priceSize: "text-base sm:text-lg",
|
|
15499
|
+
labels: props.priceLabels
|
|
15500
|
+
}, null, 8, ["price", "includeTax", "labels"]))
|
|
15501
|
+
])
|
|
15502
|
+
])
|
|
15503
|
+
])) : vue.createCommentVNode("", true)
|
|
15504
|
+
]),
|
|
15505
|
+
props.showStock && !!props.product.inventory || __props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$4, [
|
|
15394
15506
|
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15395
|
-
key:
|
|
15507
|
+
key: 0,
|
|
15396
15508
|
product: __props.product,
|
|
15397
15509
|
inventory: __props.product.inventory,
|
|
15398
15510
|
showAvailability: props.showAvailability !== false,
|
|
@@ -15412,46 +15524,32 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15412
15524
|
labels: props.stockLabels
|
|
15413
15525
|
}, null, 8, ["inventory", "showAvailability", "labels"]))
|
|
15414
15526
|
]) : vue.createCommentVNode("", true),
|
|
15415
|
-
__props.showManufacturer && !!getProductManufacturer() ? vue.renderSlot(_ctx.$slots, "manufacturer", {
|
|
15416
|
-
key: 4,
|
|
15417
|
-
product: __props.product,
|
|
15418
|
-
manufacturer: getProductManufacturer()
|
|
15419
|
-
}, () => [
|
|
15420
|
-
vue.createElementVNode("div", _hoisted_19$4, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15421
|
-
]) : vue.createCommentVNode("", true),
|
|
15422
|
-
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15423
|
-
key: 5,
|
|
15424
|
-
product: __props.product,
|
|
15425
|
-
text: getProductShortDescription()
|
|
15426
|
-
}, () => [
|
|
15427
|
-
vue.createElementVNode("p", _hoisted_20$4, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15428
|
-
]) : vue.createCommentVNode("", true),
|
|
15429
15527
|
__props.showPrice !== false && !!__props.product?.price ? vue.renderSlot(_ctx.$slots, "price", {
|
|
15430
|
-
key:
|
|
15528
|
+
key: 1,
|
|
15431
15529
|
product: __props.product,
|
|
15432
15530
|
price: __props.product.price,
|
|
15433
|
-
includeTax:
|
|
15531
|
+
includeTax: resolvedIncludeTax.value,
|
|
15434
15532
|
currency: __props.currency,
|
|
15435
15533
|
labels: props.priceLabels
|
|
15436
15534
|
}, () => [
|
|
15437
|
-
vue.createElementVNode("div",
|
|
15535
|
+
vue.createElementVNode("div", _hoisted_26$4, [
|
|
15438
15536
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15439
15537
|
key: 0,
|
|
15440
15538
|
price: __props.product.price,
|
|
15441
|
-
"include-tax":
|
|
15539
|
+
"include-tax": resolvedIncludeTax.value,
|
|
15442
15540
|
currency: __props.currency,
|
|
15443
15541
|
labels: props.priceLabels
|
|
15444
15542
|
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9, {
|
|
15445
15543
|
key: 1,
|
|
15446
15544
|
price: __props.product.price,
|
|
15447
|
-
includeTax:
|
|
15448
|
-
priceSize: "text-base
|
|
15545
|
+
includeTax: resolvedIncludeTax.value,
|
|
15546
|
+
priceSize: "text-base",
|
|
15449
15547
|
labels: props.priceLabels
|
|
15450
15548
|
}, null, 8, ["price", "includeTax", "labels"]))
|
|
15451
15549
|
])
|
|
15452
15550
|
]) : vue.createCommentVNode("", true)
|
|
15453
|
-
]),
|
|
15454
|
-
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15551
|
+
])) : vue.createCommentVNode("", true),
|
|
15552
|
+
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$4, [
|
|
15455
15553
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15456
15554
|
product: __props.product,
|
|
15457
15555
|
cartId: props.cartId,
|
|
@@ -15864,6 +15962,10 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
15864
15962
|
setup(__props) {
|
|
15865
15963
|
const props = __props;
|
|
15866
15964
|
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
15965
|
+
const ctxForTax = ProductVideos_vue_vue_type_script_setup_true_lang.usePropellerContext();
|
|
15966
|
+
const resolvedIncludeTax = vue.computed(
|
|
15967
|
+
() => props.includeTax === true ? true : !!(ctxForTax ? ctxForTax.includeTax : false)
|
|
15968
|
+
);
|
|
15867
15969
|
const ProductCardImpl = vue.computed(
|
|
15868
15970
|
() => props.productCardComponent ?? _sfc_main$e
|
|
15869
15971
|
);
|
|
@@ -16052,7 +16154,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16052
16154
|
columns: props.columns || 3,
|
|
16053
16155
|
cluster: item,
|
|
16054
16156
|
configuration: vue.unref(infra).configuration,
|
|
16055
|
-
includeTax:
|
|
16157
|
+
includeTax: resolvedIncludeTax.value,
|
|
16056
16158
|
showPrice: props.showPrice,
|
|
16057
16159
|
language: vue.unref(infra).language || "NL",
|
|
16058
16160
|
showStock: props.showStock,
|
|
@@ -16080,7 +16182,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16080
16182
|
graphqlClient: vue.unref(infra).graphqlClient,
|
|
16081
16183
|
user: vue.unref(infra).user || null,
|
|
16082
16184
|
configuration: vue.unref(infra).configuration,
|
|
16083
|
-
includeTax:
|
|
16185
|
+
includeTax: resolvedIncludeTax.value,
|
|
16084
16186
|
cartId: props.cartId,
|
|
16085
16187
|
createCart: props.createCart,
|
|
16086
16188
|
onCartCreated: props.onCartCreated,
|